无法使用PHP exec()执行/ usr / local / bin / program

时间:2017-07-30 08:41:04

标签: php macos

我正在使用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

1 个答案:

答案 0 :(得分:1)

exec搜索include path中列出的目录中的任何指定程序。如果只通过绝对路径获得程序的预期输出,则可能意味着其父目录未在包含路径中设置,因此如果要执行该程序没有路径,则应set it

如果在包含路径中设置了中的 目录,并且仍然出现意外行为,请使用第二个third optional parameters of exec来了解该过程的状态。