2010-02-17 26 views
1

我正在Apache内运行的php执行ffmpeg。我以前遇到错误“加载共享库时出错:libavdevice.so.52:无法打开共享目标文件:没有这样的文件或目录”。从运行在Apache中的php执行ffmpeg

如果php脚本是从命令提示符执行的,或者是直接从命令提示符调用ffpmeg,它就可以很好地工作。

我遵循下面的步骤来固定的apache错误:

步骤1:检查文件“libavdevice.so.52“中使用下面的命令服务器中存在。

查找/ -name“libavdevice.so *。”

第2步:您将获得其中的文件“libavdevice.so.52“从上面的命令所在的目录。假设这个例子中的目录是“/ usr/local/lib /”。

步骤3:您必须在文件“/etc/ld.so.conf”中添加目录名称。

第4步:执行命令“ldconfig”。

上述过程对apache有什么影响?

回答

1

如果您遇到命令提示符vs php问题,我可能会查看文件执行权限。 www-data(或者PHP运行的人)是什么权限FFMPEG将由PHP执行时将承担。

我过去并没有遇到这个确切的问题,但它是我建议你尝试寻找的地方之一,因为它从CLI正确运行。

+0

谢谢你。顺便说一句,这个问题已经解决了我提到的步骤,但我想知道它对apache有什么影响。顺便说一句,我检查了文件权限,它是所有(777)。 – foobar 2010-02-17 16:06:21

0

我不太明白这个问题,它似乎回答了我自己。

你做了3个步骤,你在那里做的唯一能够影响到Apache的东西是编辑/etc/ld.so.conf。我不知道它是否确实如此(我不知道该文件是什么),但如果在远程情况下没有,它肯定是一些后台进程。无论如何,findldconfig不会影响apache。