我正在使用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
echo exec('whoami');
也提供了...... pengkong
echo exec('ffprobe -version');
给予空背
echo exec('/usr/local/bin/ffprobe -version');
提供libpostproc 54. 5.100 / 54. 5.100
为什么我没有在使用带exec()函数的PHP指定绝对路径ffprobe
的情况下运行/usr/local/bin/ffprobe
?
答案 0 :(得分:1)
exec
搜索include path中列出的目录中的任何指定程序。如果只通过绝对路径获得程序的预期输出,则可能意味着其父目录未在包含路径中设置,因此如果要执行该程序没有路径,则应set it。
如果在包含路径中设置了中的 目录,并且仍然出现意外行为,请使用第二个third optional parameters of exec来了解该过程的状态。