ad

2011年8月18日 星期四

ffmpeg-php Warning

相信很多人跟我一樣在redhat環境下安裝ffmpeg-php套件時出了問題
用phpinfo()及php -m檢查
ffmpeg 始終沒有load

用下面指令測試ffmpeg
php -r "phpinfo()" | grep ffmpeg
出現以下Warning:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/ffmpeg.so' - /usr/lib/php/modules/ffmpeg.so: undefined symbol: _php_create_ffmpeg_frame in Unknown on line 0
PHP Parse error: syntax error, unexpected $end in Command line code on line 1
[root@news-lab ffmpeg-php-0.6.0]# php -r "phpinfo();" | grep ffmpeg
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/ffmpeg.so' - /usr/lib/php/modules/ffmpeg.so: undefined symbol: _php_create_ffmpeg_frame in Unknown on line 0

爬文爬了很久終於找到解決方法
以我載ffmpeg0.6.0為例
我把壓縮檔複製到 /usr/local/src/下

tar jxvf ffmpeg-php-0.6.0.tbz2

cd ffmpeg-php-0.6.0/

phpize //請先行安裝

vi ffmpeg_frame.c //關鍵在這個檔案裡

:1,$s/PIX_FMT_RGBA32/PIX_FMT_RGB32/g
//用vi將PIX_FMT_RGBA32全部取代成PIX_FMT_RGB32
//跳出後

./configure

make
//這時候會有error

將ffmpeg_frame.loT 改成 ffmpeg_frame.lo

再次make

make install

將/etc/php.ini加上
extension=ffmpeg.so

/etc/init.d/httpd restart

enjoy it

沒有留言:

張貼留言