使所有用户都可以使用latex字体进行php编译


Make latex fonts available for all users for a php compilation

我在使用PHP shell_exec编译latex文档时遇到问题。我以为我已经解决了这个问题,但遗憾的是我没有。

我以前也问过类似的问题:

从PHP 编译latex文档

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

这一页似乎有解决方案:如果LaTeX文档(www数据)可以';无法访问所需的程序包?

我所做的是以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命令,以便所有用户都能永久看到字体?

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

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

然而,我能够将问题与其中一条乳胶线隔离开来。

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

'usepackage[T1]{fontenc}

这一行是从我一直使用的标题中继承的,但对文档来说并不是基本的,因此这设法解决了它