PHP/Apache中的Inkscape不会将字体呈现给PNG

hal*_*fer 5 php apache fonts inkscape

我今天发现的一个问题类似于这个未解决的问题 ; 虽然不一样,但可能有相同的原因.

我使用inkscapePNG或PDF 渲染SVG文件.在大多数情况下,我打算使用Gearman在后台渲染这些,但是现在我在PHP/Apache进程中创建了一些缩略图.似乎如果exec在Apache进程中调用inkscape(通过PHP ),它就无法找到它需要渲染的字体.因此,图形元素渲染得很好,但是任何文本元素都不会在PNG输出中绘制.

我怀疑Apache内部的CLI环境与我常用的bash控制台不同,这意味着无法看到字体.我在OS X 10.6.8上.有任何想法吗?

编辑:继续评论之后,我已经php -i在Apache和Gearman中捕获了,并且第一个与第二个相区别(因此在理论上应用差异会使它工作).该结果是在这里.

编辑2:我convert -list font在两种环境中都尝试过使用system- 完全没有区别.

DCo*_*der 3

正如上面的评论所确定的,这是由环境差异引起的 -HOME环境变量在执行的进程中设置不同。使用proc_open而不是简单exec可以更精确地控制所述过程,并显式设置环境变量解决了问题。