[英]Can't run sox commands via PHP shell_exec
我已經尋求幫助,並嘗試了該線程上的所有內容,但仍然無法使該工作正常。 我正在嘗試使用shell_exec()從我的PHP腳本中運行sox(Sound eXchange)命令行實用程序。 我需要連接兩個音頻文件,這兩個文件都與PHP腳本位於同一目錄中(即apache可以訪問)。
這是混亂:
因此,這在外殼中有效:
"/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()從PHP運行sox命令。
我只是遇到了javascript的計時問題。 我正在使用wami記錄器在客戶端捕獲音頻,然后將音頻文件保存在服務器上。 因此,我的PHP腳本處於ajax調用處理程序的上下文中,該處理程序根據定義是異步的。 應該早一點意識到。
問題是運行sox串聯命令時文件沒有保存完畢,因此自然失敗了,因為該文件尚不存在。 當我使呼叫同步時,它起作用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.