2012-03-19 44 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");,看看你有多幸運。