PHP 启动:无法加载动态库“/usr/lib64/php/modules/gd.so”未定义符号:未知中的 gdImageWebpCtx

PHP 启动:无法加载动态库“/usr/lib64/php/modules/gd.so”未定义符号:未知中的 gdImageWebpCtx

我们正在运行 RHEL6,并且在重新启动 php-fpm 时刚刚出现此错误。

PHP 启动:无法加载动态库“/usr/lib64/php/modules/gd.so”-/usr/lib64/php/modules/gd.so:未定义符号:未知中的 gdImageWebpCtx

我尝试重启服务器并运行 yum update,但错误仍未消除。如能得到任何帮助,我将不胜感激。

答案1

这意味着,在模块使用的共享库中找不到 gdImageWebpCtx 符号。gdImageWebpCtx 由 gd/libgd(而不是 php-gd)提供。

readelf -s /usr/lib64/libgd.so.2

nm -D /usr/lib64/libgd.so.2

将列出符号,但我很确定你不会在那里找到它。

我在使用 Remi Collet 提供的软件包时遇到了几十个类似/兼容的问题(看起来他很忙,要维护一切等等)。

删除所有 remi 包(rpm -qa|grep remi),删除 remi-release 包并从 EPEL 存储库安装最后可用的 php/gg/etc 包(您可能需要使用将它们降级rpm -Uvh package.rpm --oldversion)。然后升级所有软件包(!)。

如果你想要 php 5.5,那么我建议你下载源文件从 remi 的 repo 中,安装 src.rpm 并用 重新编译rpmbuild --target x86_64 -ba /root/rpmbuild/SPECS/php.spec。这样,所有二进制文件都将根据您的系统进行构建。

这就是我从不使用 REMI 的 php rpm 的原因。Mysql 的 rpm 就很好。

答案2

我已将 gd-last 更新为最新的版本,它解决了我使用 remi 包的问题。

答案3

我也只是需要 gd-last。

sudo yum --enablerepo=epel,remi,remi-php55 install gd-last

对我来说,php 5.5.7 和REMI 存储库。我以前也犯过同样的错误。

答案4

/usr/lib就我的情况而言,从 remi-php56 repo 更新后,解决方案是从、/usr/lib64和中删除旧的 gdlib.so 文件/usr/local/lib。检查论坛消息

相关内容