Run inkscape in PHP
我需要在PHP中运行Inkscape,以便将SVG图像转换为PDF。但是每次我尝试:
//some PHP code
system("inkscape -z --file=svg.svg --export-pdf=pdf.pdf");
//more code
我没有得到新的文件,我在ApacheErro日志中得到了这个文件。
(inkscape:28607): libgnomevfs-WARNING **: Unable to create ~/.gnome2 directory: Permission > denied
Emergency save activated!
Emergency save completed. Inkscape will close now.
If you can reproduce this crash, please file a bug at www.inkscape.org
with a detailed description of the steps leading to the crash, so we can fix it.
** Message: Error: Inkscape encountered an internal error and will close now.Segmentation fault
我使用Apache服务器在Ubuntu上运行。我能做些什么来纠正这个问题?
这与系统权限有关,更容易修复的方法是在运行该代码的用户的根主文件夹中创建一个.gnome2文件夹,并授予其写入权限(666应该可以)。
请注意,如果要通过ftp文件夹/文件执行此操作,请从开始。(Linux上的隐藏文件),根据客户机的配置,可能不会显示在列表上。
例如:
1 2 3 |
Inkscape通常由webserver用户WWW数据执行。Ubuntu为WWW数据提供的默认设置位于/var/www中的WWW数据主目录。
有两种可能性:
a)将WWW数据的主目录更改为/home/WWW数据
b)禁用/var/www中的虚拟主机
在这两种情况下,您都必须更改~www data的权限。先把目录"chown"到www-data:www-data并给他们写权限。
下一次,如果您通过php(作为www数据用户)执行inkscape,将创建丢失的目录。