如何修复PHP 5.6/Linux环境下‘ffmpeg_movie类未找到’致命错误
解决PHP Fatal error: Class 'ffmpeg_movie' not found 问题
先给你捋清楚核心问题:你遇到的ffmpeg_movie类找不到错误,根源是PHP无法加载FFmpeg扩展文件——那个警告已经明确说了找不到/opt/cpanel/ea-php56/root/usr/lib64/php/modules/ffmpeg.so。而且你试的autoload.php根本没用,因为ffmpeg_movie是PHP底层扩展提供的类,不是Composer自动加载能覆盖的范畴,别在这上面浪费时间了。
咱们一步步来排查修复:
第一步:确认扩展文件是否真的存在
通过SSH登录服务器,执行命令检查文件路径是否有效:
ls -l /opt/cpanel/ea-php56/root/usr/lib64/php/modules/ffmpeg.so
- 如果返回
No such file or directory:说明扩展文件丢失或路径配置错误,直接看第二步。 - 如果能看到文件的权限、大小等信息:说明文件存在,问题出在权限或PHP配置加载上,跳去第三步。
第二步:重新安装FFmpeg PHP扩展(适配cPanel EA-PHP56环境)
你用的是cPanel的EasyApache 4提供的EA-PHP56,直接用yum命令重新安装扩展:
yum reinstall ea-php56-php-ffmpeg
安装完成后,重启对应的服务(根据你的WordPress运行环境选一个):
# 重启Apache service httpd restart # 如果用的是PHP-FPM,重启对应版本的FPM进程 service ea-php56-php-fpm restart
第三步:修复扩展文件权限
如果文件存在但加载失败,大概率是PHP进程(通常是apache或nobody用户)没有读取权限。执行以下命令修正:
# 设置文件基础权限为644(所有者可读可写,其他用户可读) chmod 644 /opt/cpanel/ea-php56/root/usr/lib64/php/modules/ffmpeg.so # 设置文件所属组为apache(适配多数cPanel环境) chown root:apache /opt/cpanel/ea-php56/root/usr/lib64/php/modules/ffmpeg.so
操作完成后记得重启Apache或PHP-FPM。
第四步:确认PHP配置文件已启用扩展
有时候系统或PHP更新后,php.ini里的扩展配置会被重置。检查EA-PHP56的主配置文件:
nano /opt/cpanel/ea-php56/root/etc/php.ini
在文件中查找extension=ffmpeg.so这一行:
- 如果找不到:在文件末尾添加这一行,保存退出后重启服务。
- 如果已经存在:确认路径是否和实际文件路径一致(比如是不是写了错误的相对路径),修正后重启服务。
验证修复效果
最后可以通过两种方式确认:
- 创建一个
phpinfo.php文件,内容为<?php phpinfo(); ?>,上传到站点根目录,访问该文件并搜索“ffmpeg”,如果能看到扩展的详细信息,说明加载成功。 - 在SSH中执行
php -i | grep ffmpeg,如果有输出,说明CLI环境下扩展正常;web环境的验证以phpinfo为准。
内容的提问来源于stack exchange,提问作者Ajay Katariya
相关产品推荐
相关产品推荐

