PHP exec无法访问FFMPEG。虽然我可以在命令提示符

时间:2017-12-15 15:54:21

标签: php path command-line-interface exec command-prompt

我在Windows上安装了FFMPEG。我把它添加到我的路径变量中。我可以在命令提示符下访问ffmpeg,无论我在哪个文件夹中(这告诉我ffmpeg +路径变量正在按预期工作)。

PHP

exec('ffmpeg -y -i C:/wamp64/test.mp4 -strict -2 -b:v 500k -vf scale=-2:123 C:/wamp64/test.mp4 2>&1', $output);
$output = implode(' -|- ', $output);
var_dump($output);

的var_dump

'ffmpeg' is not recognized as an internal or external command, -|- operable program or batch file.

当我在命令提示符中复制完全相同的突击队(ffmpeg -y -i C:/wamp64/test.mp4 -strict -2 -b:v 500k -vf scale=-2:123 C:/wamp64/test.mp4 2>&1)时,它完美无缺。无论文件夹位置如何。

我是否需要采取其他/不同的步骤让PHP能够找到ffmpeg

1 个答案:

答案 0 :(得分:0)

您可以尝试使用PHP定义的常量

DIRECTORY_SEPARATOR

而不是/?

此外,如果ffmpeg.exe程序不在%PATH%中,则必须使用完整路径,例如:

'C:' . DIRECTORY_SEPARATOR . 'Program Files' . DIRECTORY_SEPARATOR . 'ffmpeg' . DIRECTORY_SEPARATOR . 'bin'. DIRECTORY_SEPARATOR . 'ffmpeg.exe'