我们正在运行RHEL6,刚开始在重新启动php-fpm时出现这个错误。
PHP启动:无法加载dynamic库'/usr/lib64/php/modules/gd.so' – /usr/lib64/php/modules/gd.so:undefined symbol:gdImageWebpCtx in Unknown
我已经尝试重新启动服务器,并运行yum更新,但并没有摆脱这个错误。 任何帮助,将不胜感激。
这意味着,在模块使用的共享库中找不到gdImageWebpCtx符号。 gdImageWebpCtx由gd / libgd(不是php-gd)提供。
readelf -s /usr/lib64/libgd.so.2
和
nm -D /usr/lib64/libgd.so.2
将列出符号,我很确定,你不会在那里find它。
Remi Collet提供的软件包有几十个类似/兼容性问题(看起来他很忙,无法维护所有东西等等)。
删除所有的remi软件包( rpm -qa|grep remi ),删除remi-release软件包并从EPEL库安装最后一个可用的php / gg / etc软件包(你可能需要用rpm -Uvh package.rpm --oldversion来降级它们)。 然后升级所有包(!)。
如果你想拥有php 5.5,那么我build议你从remi的repo下载src.rpm ,安装src.rpm并用rpmbuild --target x86_64 -ba /root/rpmbuild/SPECS/php.spec重新编译。 这样所有的二进制文件将根据您的系统build立。
这就是为什么我从来不使用REMI的PHP RPM的原因。 Mysql的是好的。
我已经更新gd-last到最新版本,它解决了我与remi软件包的问题。
我也只是需要gd-last。
sudo yum --enablerepo=epel,remi,remi-php55 install gd-last
在php 5.5.7和REMI Repository中为我工作。 我以前有相同的错误。
这是一个链接器故障。 它看起来像你可能没有安装gd库(或者更可能是你安装的库的版本不正确)。
ldd /usr/lib64/php/modules/gd.so是否报告缺失的库? (我不指望会的。)
你安装了什么版本的libgd?
在我的情况下,从remi-php56 repo更新后,解决scheme是从/usr/lib , /usr/lib64和/usr/local/lib删除旧的gdlib.so文件。 检查论坛消息