在RHEL 5.6上安装ffmpeg-php时出错

时间:2013-05-29 23:18:13

标签: php redhat ffmpeg-php

我一直在尝试在RHEL(Redhat Enterprise Linux)5.6(Tikanga)环境中安装ffmpeg-php v0.6.0。我正在运行PHP版本5.2.17并安装了以下ffmpeg软件包:

  • ffmpeg-0.6.5-1.el5.rf
  • 的ffmpeg-devel的-0.6.5-1.el5.rf
  • 的ffmpeg-libpostproc-0.6.5-1.el5.rf

我跟着these installation instructions。我坚持我运行make的步骤,我收到以下错误:

In file included from /usr/include/sys/stat.h:105,
                 from /usr/include/php/main/php_streams.h:28,
                 from /usr/include/php/main/php.h:400,
                 from /usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c:40:
/usr/include/bits/stat.h:88: error: field 'st_atim' has incomplete type
/usr/include/bits/stat.h:89: error: field 'st_mtim' has incomplete type
/usr/include/bits/stat.h:90: error: field 'st_ctim' has incomplete type
/usr/include/bits/stat.h:149: error: field 'st_atim' has incomplete type
/usr/include/bits/stat.h:150: error: field 'st_mtim' has incomplete type
/usr/include/bits/stat.h:151: error: field 'st_ctim' has incomplete type
In file included from /usr/include/php/main/php.h:406,
                 from /usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c:40:
/usr/include/php/TSRM/tsrm_virtual_cwd.h:209: error: expected specifier-qualifier-list before 'time_t'
/usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c: In function 'zm_startup_ffmpeg':
/usr/local/src/ffmpeg-php-0.6.0/ffmpeg-php.c:94: warning: implicit declaration of function 'avcodec_init'

一直在抓取互联网,看看其他人是否遇到过类似问题,到目前为止我发现this建议安装旧版本的ffmpeg-php。

我对使用旧版本的东西不满意,并且想知道是否有其他人遇到过上述错误并成功解决了这些错误,或者他们是否可以指出我正确的方向开始解决它们。

1 个答案:

答案 0 :(得分:0)

在查看了几个小时之后,似乎time.h已经在ffmpeg 1.2.1中使用了一些明显的原因(这是我测试过的)。这导致与操作系统自己的同名文件发生冲突。

虽然我无法在PHP中编码(并且几乎无法读取PHP代码),但我发现由tony2001维护的git仓库已经对原始项目进行了更改并使用他的仓库帮助我成功安装了它CentOS-6.2,CentOS-6.3和CentOS-6.4(对不起,我没有测试过任何其他的味道,但我想如果它适用于CentOS-6.4,它也应该适用于RHEL 5.x和6.x)

您可以找到回购here

希望这对你将来有所帮助(也许是最终落户这里的其他人)

PS:顺便提一下,在撰写本答案时,ffmpeg 2.0已经发布,但我还没有机会测试它