drnbotxo449747 2011-03-19 18:32
浏览 141
已采纳

在php和路径问题中执行LaTeX

I am trying to compile a latex source file from php, using exec:

echo shell_exec("/usr/texbin/pdflatex source.tex");

Unfortunately, latex doesn't seem to see all packages when it is called via php.

For example, I get

LaTeX Error: File `customclass.cls' not found

when I try to use customclass, installed in my local texmf folder. There is also the same problem for some packages installed elsewhere.

This has certainly something to do with a path variable or something like that to set up, but I haven't been able to find what for an hour.

Has someone an idea ?

  • 写回答

3条回答 默认 最新

  • dpka7974 2011-03-19 19:03
    关注

    The PHP interpreter is probably running as some other user, like www-data or something related: this means that it can't see the packages installed in your usual user's texmf directory (I'm assuming that's what you mean by local), because the user's texmf is only loaded when pdflatex is run as that user.

    This seems like a potential solution to extending the LaTeX path to wherever your local texmf is, based on shell variables: Temporary installation of (La)TeX files (from the TeX FAQ).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?