我尝试在php脚本中编译我的latex文件,但它无法调用xelatex
。
在php脚本中:
system("/usr/bin/whoami");
system("/usr/bin/xelatex foo.tex 2>&1");
输出:
myuser
sh: 1: /usr/bin/xelatex: not found
但在我的终端:
$ /usr/bin/whoami
=> myuser
$ /usr/bin/xelatex foo.tex
This is XeTeX, Version 3.1415926-2.2-0.9995.2 (TeX Live 2009/Debian)
...(successful output)...
我将php作为myuser
运行,并传递system()
绝对路径。然后我关掉safe_mode
。为什么我还不能执行外部程序?
答案 0 :(得分:1)
最后,我联系了我的系统管理员,发现了问题。该计算机位于NFS中,因此apache
和登录shell位于不同的计算机上。运行apache的计算机上没有xelatex
。
答案 1 :(得分:0)
检查运行PHP代码的目录的权限。检查myuser权限
只是为了验证,请尝试使用root。
希望这个帮助
答案 2 :(得分:0)
你确定它不是找不到的'foo.tex'文件吗?尝试将shell输出到文件,例如system("/usr/bin/xelatex ./foo.tex > ./test.out");
然后看看你得到了什么运气。