相信很多人跟我一樣在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
沒有留言:
張貼留言