我已经尝试了几天了。我正在尝试在 CentOS 服务器上安装 ffmpeg-php。
- 操作系统:CentOS 6
- PHP:5.5
- ffmpeg:1.2.1
- ffmpeg-php:0.6.0
ffmpeg 安装顺利进行,我可以通过 CLI 来回转换文件。
在安装 ffmpeg-php 时,由于 time.h 引用,我在制作时(配置后)遇到了错误,该错误通过将扩展名 .loT 创建的文件重命名为 .lo 来纠正(正如正确的 pointed out here )
一旦完成,make 过程就顺利进行,make install 也顺利完成。但是,在 php.ini 文件中指定 extension=ffmpeg.so 并重新启动 Apache 后,该模块不会加载或显示在 phpinfo() 中。
Apache 错误日志仅显示“PHP 警告:PHP 启动:第 0 行未知中的无效库(可能不是 PHP 库)'ffmpeg.so'”,没有其他内容。
make test 也显示相同的错误并且失败了相关的测试。我查过here这不是很有帮助。另外,我在某处读到这可能是权限问题,但 ffmpeg.so 文件的权限是 755。
感谢任何帮助。
提前致谢。
最佳答案
经过几个小时的查找,似乎 time.h 由于某种明显的原因已在 ffmpeg 1.2.1 中使用(这是我测试的)。这导致与操作系统自己的同名文件发生冲突。这会导致 CentOS 6.x、RHEL 5.6 和 RHEL 6.x 中的安装中断
虽然我无法使用 PHP 进行编码(并且几乎无法读取 PHP 代码),但我找到了由 tony2001 维护的 git 存储库。他对原始项目进行了更改,并使用他的存储库帮助我在 CentOS-6.2、CentOS-6.3 和 CentOS-6.4 上成功安装了它。
您可以找到存储库 here 。这似乎解决了 CentOS 6.x、RHEL 5.6 和 RHEL 6.x 中的问题。
希望这对将来尝试此操作的其他人有所帮助(也许最终到达这里的其他人)
PS:顺便说一句,在撰写此答案时 ffmpeg 2.0 已经发布,但我还没有机会测试它
关于php - 加载 ffmpeg-php 模块失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17293228/