我正在从apache中运行的php执行ffmpeg。我以前在加载共享库时遇到错误“错误:libavdevice.so.52:无法打开共享对象文件:没有这样的文件或目录”。
如果从命令提示符执行php脚本或者从命令提示符直接调用ffpmeg,它曾经完美地工作。
我按照以下步骤修复了apache错误:
步骤1:使用以下命令检查服务器中是否存在“libavdevice.so.52”文件。
find / -name'libavdevice.so。*'
步骤2:您将从上面的命令获得存在文件“libavdevice.so.52”的目录。假设在此示例中该目录为“/ usr / local / lib /”。
步骤3:您必须在“/etc/ld.so.conf”文件中添加目录名。
步骤4:执行命令“ldconfig”。
上述做法如何对apache产生影响?
答案 0 :(得分:1)
如果您遇到命令提示符与php问题,我可能会查看文件执行权限。 www-data(或PHP运行的那个)是FFMPEG在PHP执行时将采用的权限。
我过去没有遇到过这个问题,但是我建议您尝试查看,因为它可以从CLI正确运行。
答案 1 :(得分:0)
我不太明白这个问题,它似乎回答了我。
你做了3个步骤,你在那里做的唯一可能影响apache的是编辑/etc/ld.so.conf
。我不知道它是不是(我不知道那个文件是什么)但是如果在远程的情况下没有,那肯定是一些后台进程。无论如何,find
和ldconfig
都不会影响apache。