PHP启动:无法加载dynamic库'/usr/lib64/php/modules/gd.so'未定义的符号:gdImageWebpCtx in Unknown

我们正在运行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文件。 检查论坛消息