執行EXEC(test.sh)在我的PHP代碼:Ubuntu的不能在PHP
exec(test.sh);
和test.sh具有代碼:
echo "Hi this is test?" | espeak --stdout > demo.wav
但沒有發生。沒有錯誤,沒有輸出。
如果我嘗試從終端執行test.sh,它將完美工作。那麼爲什麼它不能在我的PHP上運行。
有人可以幫助我嗎?
執行EXEC(test.sh)在我的PHP代碼:Ubuntu的不能在PHP
exec(test.sh);
和test.sh具有代碼:
echo "Hi this is test?" | espeak --stdout > demo.wav
但沒有發生。沒有錯誤,沒有輸出。
如果我嘗試從終端執行test.sh,它將完美工作。那麼爲什麼它不能在我的PHP上運行。
有人可以幫助我嗎?
你如何運行你的PHP腳本?用php-cli(在shell模式下)? HTTP(Apache,...)?
這可能是一個路徑問題。你能給我們你的test.sh的路徑,你的php腳本的路徑或者是如果你使用apache或其他HTTP服務器來調用運行PHP的URI嗎?
apache用戶將需要對當前工作目錄(大概是包含您的php腳本和test.sh的同一目錄)的寫入權限。
這兩個文件都有寫入權限。我認爲espeak命令有問題。我已經在我的Ubuntu和它的作品中有過應用程序。 – ishita
可能是幾件事情:你是從命令行還是使用apache執行php?如果您使用的是Apache,它是否擁有test.sh權限?你在使用的apache/webserver的error_log上看到任何錯誤嗎? – Naryl
可能的重複:http://stackoverflow.com/questions/7397672/how-to-run-a-sh-file-from-php – aaron
我從apache執行php。 test.sh已經有執行權。 error_log沒有錯誤。 – ishita