2012-03-19 48 views
5

我试图在php脚本中编译我的latex文件,但它不能调用xelatex无法通过system()执行外部程序?

在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

什么是你的PHP文件的chown和chgrp?并且还有权限 – safarov 2012-03-19 07:27:44

回答

1

最后我联系了我的系统管理员,发现问题。该机器位于NFS中,因此apache和登录shell位于不同的机器上。在Apache正在运行的机器上没有xelatex

0

检查您运行PHP代码的目录的权限。检查myuser的权限

只是为了验证试用它的根。

希望这有助于

0

你确定它不是文件“foo.tex”,它是无法找到?尝试将shell输出到文件,例如system("/usr/bin/xelatex ./foo.tex > ./test.out");,看看你有多幸运。