1
我尋求幫助,並嘗試了所有在this thread,但仍不能使這項工作。我正在嘗試使用shell_exec()從我的PHP腳本運行sox(Sound eXchange)命令行實用程序。我需要連接兩個音頻文件,這兩個文件與PHP腳本位於相同的目錄中(即可通過apache訪問)。無法通過PHP運行sox命令shell_exec
這裏的困惑:
- 一些SOX命令工作正常使用了shell_exec()。例如,我可以播放音頻文件或檢索有關它的信息。
- 如果我回顯連接命令(因此我知道PHP發送到shell的確切內容),然後將其複製並粘貼到shell窗口中,它將完美運行。
- 我的apache用戶(_www)對PHP腳本所在的目錄以及sox目錄擁有完整的權限。我在兩個目錄上運行了「chown -R _www:_www」和「chmod -R 777」。
- 我正在使用sox可執行文件和音頻文件的完整路徑。
所以這部作品在外殼:
"/soxpath/sox /filepath/file1.wav /filepath/file2.wav /filepath/combined.wav"
但是,這並不從PHP工作:
shell_exec('/soxpath/sox /filepath/file1.wav /filepath/file2.wav /filepath/combined.wav');
任何人都可以闡明這一些輕?我錯過了什麼?謝謝。
shell_exec()返回什麼? – 2012-03-21 22:42:52
/soxpath/sox ????是完整路徑還是樣本.... – Baba 2012-03-21 23:01:03
shell_exec()返回NULL。而「/ soxpath /」只是實際完整路徑的佔位符。在我的情況下,它是「/bin/sox-14.4.0/」 – brettcito 2012-03-22 00:14:32