【问题标题】:Executing ffmpeg from php running in apache从在apache中运行的php执行ffmpeg
【发布时间】:2010-04-10 06:58:00
【问题描述】:

我正在从运行在 apache 中的 php 执行 ffmpeg。我曾经收到错误“加载共享库时出错:libavdevice.so.52:无法打开共享对象文件:没有这样的文件或目录”。

如果从命令提示符执行php脚本或从命令提示符直接调用ffpmeg,它可以完美运行。

我按照以下步骤修复了 apache 错误:

第一步:使用以下命令检查服务器中是否存在“libavdevice.so.52”文件。

find / -name ‘libavdevice.so.*’

第2步:您将通过上述命令获取文件“libavdevice.so.52”所在的目录。假设本例中的目录是“/usr/local/lib/”。

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

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

上述操作对 apache 有何影响?

【问题讨论】:

    标签: php apache ffmpeg


    【解决方案1】:

    如果您遇到命令提示符与 php 问题,我可能会查看文件执行权限。 www-data (或 PHP 运行的任何人)是 FFMPEG 在 PHP 执行时所假定的权限。

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

    【讨论】:

    • 谢谢。顺便说一句,我提到的步骤解决了这个问题,但我想知道它对 apache 有何影响。顺便说一句,我检查了文件权限,它适用于所有人(777)。
    【解决方案2】:

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

    您执行了 3 个步骤,并且您在那里所做的唯一可能影响 apache 的事情是编辑 /etc/ld.so.conf。我不知道它是否有(我不知道那个文件是什么),但如果在远程情况下没有,那肯定是一些后台进程。 findldconfig 无论如何都不会影响 apache。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      • 1970-01-01
      • 2012-09-08
      • 1970-01-01
      • 2011-12-19
      • 2016-07-12
      • 1970-01-01
      相关资源
      最近更新 更多