Запуск PHP: Не мог загрузить динамическую библиотеку' неопределенный символ '/usr/lib64/php/modules/gd.so: gdImageWebpCtx в Неизвестном

Не предоставляйте пользователю веб-сервера sudo доступ, Вы просто напрашиваетесь на неприятности. Изучите бит setuid вместо этого:
chmod u+s some_file_that_needs_executing_as_another_user.pl
Каждый раз, когда тот файл выполняется, он будет эффективно выполняться пользователем, который создал его.
На ноте стороны я вполне уверен, Вы не можете передать пароль по каналу в sudo или passwd.

4
задан 13 August 2013 в 01:07
5 ответов

Это означает, что символ 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. rpm --oldversion ). Затем обновите все пакеты (!).

Если вы хотите иметь php 5.5, то я рекомендую вам загрузить src.rpm из репозитория remi, установить src.rpm и перекомпилировать с rpmbuild --target x86_64 -ba /root/rpmbuild/SPECS/php.spec. Таким образом, все двоичные файлы будут построены в соответствии с вашей системой.

Вот почему я никогда не использую REMI php rpms. Mysql хороши.

s php rpms. Mysql хороши.

s php rpms. Mysql хороши.

2
ответ дан 3 December 2019 в 03:07

Я обновил gd-last до последней версии и это решит мою проблему с пакетами remi.

2
ответ дан 3 December 2019 в 03:07

Ошибка компоновщика. Похоже, у вас не установлена ​​библиотека gd (или, что более вероятно, у вас установлена ​​неправильная версия библиотеки).

Есть ли ldd /usr/lib64/php/modules/gd.so сообщить о недостающих библиотеках? (Не ожидаю.)

Какую версию libgd вы установили?

0
ответ дан 3 December 2019 в 03:07

I also just needed gd-last.

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

Worked for me with php 5.5.7 and REMI Repository. I previously had the same error.

2
ответ дан 3 December 2019 в 03:07

В моем случае после обновления из репозитория remi-php56 решением было удалить старые файлы gdlib.so из / usr / lib , / usr / lib64 и / usr / local / lib . Проверьте сообщение на форуме

0
ответ дан 3 December 2019 в 03:07

Теги

Похожие вопросы