2014-01-16 220 views
0

我在使用PHP exec()時遇到了問題。我無法弄清楚這個問題,我曾與下面的代碼嘗試:PHP exec()函數返回狀態碼2

exec("pdfcrop --margins '-6 -2 -3 -2' '/home/username/pdf/Figure 1 Timeline of Virtual Sim Use/page.01.pdf' '/home/username/pdf/out/output.pdf'", $output, $error); 

每當我用這個命令在exec()返回2個狀態代碼,但如果我用這個命令我的終端,然後它工作得很好。所以請提出你的建議來解決這個問題。

謝謝你..

+0

嘗試了shell_exec() – Anish

+1

也許[**這**](http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/exitcodes.html)可能會幫助 – asprin

+0

感謝您的答覆。我也嘗試過使用shell_exec(),但是相同的結果不起作用。 – user2943773

回答

4

PHP執行函數運行apache用戶(www數據)的用戶最有可能該用戶沒有訪問在流程: /家/用戶名/ PDF /圖

您可以通過嘗試將此路徑更改爲/ tmp/pdf文件的名稱來進行測試.pdf

0

pdfcrop是一個Perl程序。打開它來閱讀,你會發現它會在當前目錄中創建tmp文件。
它工作在PHP通話後,我做了以下修改:

  • $ TMP = 「/ tmp目錄/ tmp目錄-...」

  • Pdftex提供 - 添加參數 - 輸出目錄=/tmp目錄