gpt4 book ai didi

php - 从没有完整路径的apache php调用ffmpeg

转载 作者:行者123 更新时间:2023-12-04 23:00:35 28 4
gpt4 key购买 nike

我需要一个 apache/php 来识别 ffmpeg 命令而不指定/usr/local/bin/ffmpeg 的完整浴

从命令行调用 ffmpeg 执行程序
通过 web 从 php 调用 ffmpeg 不会执行程序
通过 web 从 php 调用/usr/local/bin/ffmpeg 确实执行程序

为什么:
一个 php 脚本调用 youtube-dl(一个已编译的程序)并在内部执行 ffmpeg

先感谢您 -
试过ffmpeg路径:
哪个ffmpeg
/usr/local/bin/ffmpeg

echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin


#php code for testing:
$output = shell_exec('/usr/local/bin/ffmpeg 2>&1');
echo "shell exec /usr/local/bin/ffmpeg <pre>$output</pre>";
#Response:
ffmpeg version 2.5.3 Copyright #(good)

#Second php code for testing:
$output = shell_exec('ffmpeg 2>&1');
echo "shell exec <pre>$output</pre>";
#Response:
sh: ffmpeg: command not found #(bad)

最佳答案

PHP 使用默认 profile使用 backticks 执行命令/shell_exec .它显然不包括 /usr/local/bin$PATH .要解决此问题,您可以显式添加 /usr/local/bin到您的默认路径:

sudo echo '$PATH=/usr/local/bin:$PATH' > /etc/profile.d/php_needed.sh

在现代系统中 /etc/profile.d 的全部内容文件夹将包含在配置文件中。

关于php - 从没有完整路径的apache php调用ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28512834/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com