我会解释我想做什么,因为有人可能会有一个更好和完全不同的方法来解决这个问题。
我正在尝试安装FFMPEG,但不仅仅是安装它,我正在制作一个自动安装程序,它可以安装一些PHP脚本,如果还没有安装,还可以安装FFMPEG。
我找不到任何可以安装FFMPEG的自动PHP脚本,所以我猜这比我想象的要困难得多。
我有三个选择:
所以,我怎样才能:
使用YUM/APT-从PHP获得并设置sudo
或
编译后为FFMPEG安装编解码器。使用我发现的预编译二进制文件,如果可能的话,我可以只安装丢失的编解码器(我认为是lame mp3 )。(也许其他人也是)。或者编解码器是否需要内置到二进制文件中。
我认为更好的选择是使用YUM/APT,因为我的目标大多是Centos 5,也可能是Ubuntu。
发布于 2011-10-08 17:27:58
如果使用SSH,sudo in php就容易得多。除其他外,您还可以使用"expect“来等待适当的提示。如果有一种方法可以用内置的exec()或system()来实现,我就不知道了。
发布于 2016-05-18 10:56:44
如果您最终从源代码编译或从回购程序安装,您可以通过这个项目处理安装过程,该项目允许PHP获得一个真实的Bash并与之交互。到这里来:https://github.com/merlinthemagic/MTS
下载后,只需使用以下代码:
$shell = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
$return1 = $shell->exeCmd('yum -y install FFMPEG');
//the return will be a string containing the return of the command
echo $return1;
当需要接受GPG键或依赖项冲突时,您将需要处理边缘情况。但是该项目允许您编写所有Bash交互脚本。
https://stackoverflow.com/questions/7689262
复制相似问题