Мы запускаем RHEL6 и только что начали получать эту ошибку при перезапуске php-fpm.
Запуск PHP: невозможно загрузить динамическую библиотеку '/usr/lib64/php/modules/gd.so' - /usr/lib64/php/modules/gd.so: неопределенный символ: gdImageWebpCtx in Unknown
Я попытался перезапустить сервер и запустить yum update, но не избавился от ошибки. Любая помощь будет оценена.
Я обновил gd-last до последний версия, и это решит мою проблему с пакетами remi.
Это означает, что символ gdImageWebpCtx не может быть найден в разделяемых библиотеках, используемых модулем. gdImageWebpCtx предоставляется gd / libgd (не php-gd).
readelf -s /usr/lib64/libgd.so.2
и
nm -D /usr/lib64/libgd.so.2
будет перечислять символы, и я очень уверен, что вы их там не найдете.
У меня были десятки похожих проблем / проблем совместимости с пакетами, предоставленными Реми Колле (похоже, он очень занят, чтобы поддерживать все и так далее).
Удалите все пакеты remi (rpm -qa|grep remi
), удалите пакет remi-release и установите последние доступные пакеты php / gg / etc из репозитория EPEL (вам может потребоваться понизить их версию с помощью rpm -Uvh package.rpm --oldversion
). Затем обновите все пакеты (!).
Если вы хотите иметь php 5.5, то рекомендую скачать src.rpmиз репозитория remi, установите src.rpm и перекомпилируйте с rpmbuild --target x86_64 -ba /root/rpmbuild/SPECS/php.spec
. Таким образом, все двоичные файлы будут построены в соответствии с вашей системой.
По этой причине я никогда не использую REMI php rpms. Mysql хороши.
Мне тоже просто нужен был gd-last.
sudo yum --enablerepo=epel,remi,remi-php55 install gd-last
У меня работал с php 5.5.7 и Репозиторий REMI. Ранее у меня была такая же ошибка.
Это сбой компоновщика. Похоже, у вас не установлена библиотека gd (или, что более вероятно, у вас установлена неправильная версия библиотеки).
Делает ldd /usr/lib64/php/modules/gd.so
сообщить о недостающих библиотеках? (Я не ожидаю, что это произойдет.)
Какая версия libgd у вас установлена?
В моем случае после обновления из репозитория remi-php56 решением было удалить старые файлы gdlib.so из /usr/lib
, /usr/lib64
и /usr/local/lib
. Проверьте сообщение на форуме