2017-07-30 35 views
0

我正在使用OSX和MAMP。在我的Mac終端,運行以下命令給出了下面的輸出
whoami給...... pengkong
ffprobe -version給... ffprobe version 3.3.2 Copyright (c) 2007-2017 the FFmpeg developers...
which ffprobe給... /usr/local/bin/ffprobe
無法使用PHP執行/ usr/local/bin/program exec()

使用PHP
echo exec('whoami');也給出。 ... pengkong
echo exec('ffprobe -version');給出空回
echo exec('/usr/local/bin/ffprobe -version');給出libpostproc 54. 5.100/54. 5.100

爲什麼我無法運行ffprobe而未指定使用PHP的exec()函數的絕對路徑/usr/local/bin/ffprobe

+0

http://php.net/manual/en/function.system.php – EvgenyKolyakov

+0

[PHP - exec()vs system()vs passthru()]的可能重複(https://stackoverflow.com/questions/ 732832/PHP-EXEC-VS-系統-VS-通路) – EvgenyKolyakov

回答

1

exec搜索include path中列出的目錄中的任何指定程序。如果您只通過絕對路徑獲得程序的預期輸出,則可能意味着它的父目錄未在包含路徑中設置,因此如果您要執行該程序的W/O路徑,則應該使用set it

如果有問題目錄集包含路徑,你仍然可以得到意外的行爲,使用第二和third optional parameters of exec,以瞭解該過程的狀態。