【发布时间】:2026-02-05 13:15:02
【问题描述】:
我在使用 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 命令让所有用户永久看到该字体?
【问题讨论】: