我試圖從php執行perl腳本。 該perl腳本正在讀取一個網頁,併產生一些數據的XML文件。 如果我通過shell執行它,一切都按預期工作,但是當我試圖通過php自動完成整個事情時什麼都沒有起作用。php無法通過exec執行perl腳本
我已經試過這樣:
exec("perl /absolute/path/to/perl/script/parser.pl", $output, $result);
當我回聲$result
變量它顯示2
。 我已經打開和關閉了php safe_mode幾次,但沒有任何改變。 也試圖設置safe_mode_exec_dir
沒有積極的結果。
當我exec的一個簡單的LS
exec("ls", $output, $result);
一切順利,我得到的文件列表和$result
是0
。
perl腳本有chmod 777,這樣它就不會成爲權限問題。他的文件夾也有777.
我幾乎可以肯定,這個問題是關於服務器,但我無法找出什麼。
任何幫助將非常感激。
謝謝
什麼時候'parser.pl'返回2?你確定你用正確的參數運行腳本嗎? '$ output'中有什麼?你的例子缺少一個結束雙引號。 – Mikel 2011-02-23 23:04:40
該腳本沒有任何參數,我試圖複製/粘貼,因爲它是上面寫的(顯然是正確的路徑)到shell中,它的工作原理。你是對的這個例子是缺少一個排隊,但只是在SO內複製代碼的問題,抱歉。 – Dalen 2011-02-23 23:07:15
$ result應該包含被執行的命令的狀態,似乎是2,但我不知道它是什麼意思 – Dalen 2011-02-23 23:10:19