为所有用户提供乳胶字体以进行php编译

时间:2014-10-01 11:47:37

标签: php latex pdflatex

我在使用PHP shell_exec编译乳胶文档时遇到问题。我以为我已经解决了这个问题,但唉,我没有。

之前我曾问过类似的东西:

Compiling a latex document from PHP

这个答案让我相信问题只是执行php脚本的www-data用户无权访问正确的字体文件。

似乎这个页面有解决方案: How can I get PHP to compile a LaTeX document if it (www-data) can't get access to the required packages?

我所做的是以root身份登录,执行命令并抛出一堆文本,但没有报告错误。然后我再次尝试我的网页,找不到字体错误仍然存​​在。

每次我尝试编译时都会收到错误:

<inti.pdf, id=1, 533.995pt x 298.11375pt> <use inti.pdf> [1{/var/lib/texmf/font
s/map/pdftex/updmap/pdftex.map} <./inti.pdf>]
(./report.aux) )
!pdfTeX error: pdflatex (file ecrm1095): Font ecrm1095 at 600 not found

不知道消息的第一部分是否重要,所以我无论如何都要复制它(inti.pdf是report.tex中的图片)。

missingfont.log文件包含以下行:

mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 ecrm1095

如何让系统看到该字体。也许设置一个环境变量?或者是Sudo命令,以便所有用户永久都能看到该字体?

1 个答案:

答案 0 :(得分:0)

好的,所以我找到了一个解决方法/另一个问题的线索。我只是在这里发帖,所以它可以帮助其他人。

首先,我错了。这不是用户权限问题。我将服务器用户名更改为自己的用户名,但仍然没有找到字体问题。

然而,我能够将问题隔离到其中一条乳胶生产线上。

特别是一旦我评论它就开始正常工作:

\usepackage[T1]{fontenc}

该行继承自我一直使用的标题,但不是文档的基础,因此设法解决了这个问题。