Не удается перезапустить apache2 на сервере Debian – “Не удалось загрузить /usr/local/apache2/modules/libphp5.so в сервер”

Вопрос или проблема

Хорошо… Я что-то вроде новичка, когда дело доходит до серверов, и у меня возникли некоторые проблемы с перезапуском apache на моем веб-сервере Debian.

Я только что запустил следующее:

aptitude install apache2 openssl

Сразу после этого я попытался перезапустить apache и получил следующее сообщение об ошибке:

IS-13902:/usr/local/apache2/modules# /etc/init.d/apache restart
httpd: Ошибка синтаксиса на строке 55 файла /usr/local/apache2/conf/httpd.conf: Невозможно загрузить /usr/local/apache2/modules/libphp5.so в сервер: libidn.so.11: невозможно открыть общий файл объекта: Нет такого файла или каталога

Я запустил ldd /usr/local/apache2/modules/libphp5.so и получил следующий вывод

linux-gate.so.1 =>  (0xb76f6000)
libcrypt.so.1 => /lib/i686/cmov/libcrypt.so.1 (0xb6d78000)
librt.so.1 => /lib/i686/cmov/librt.so.1 (0xb6d6f000)
libmysqlclient.so.16 => /usr/local/mysql/lib/libmysqlclient.so.16 (0xb6a3d000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb6a19000)
libz.so.1 => /usr/lib/libz.so.1 (0xb6a04000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb69e5000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb69bf000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb69bb000)
libnsl.so.1 => /lib/i686/cmov/libnsl.so.1 (0xb69a1000)
libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0xb6948000)
libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb680f000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb66b4000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb669b000)
/lib/ld-linux.so.2 (0xb76f7000)
libidn.so.11 => не найден
libssh2.so.1 => не найден
libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb6652000)
libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb64ff000)
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0xb64bc000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0xb64ad000)
libresolv.so.2 => /lib/i686/cmov/libresolv.so.2 (0xb6499000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb6482000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0xb63e5000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb63d5000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb63d0000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb6368000)

Кто-нибудь может помочь?

Установите пакет libidn11-dev:

# apt-get install libidn11-dev

и попробуйте снова.

У меня была ваша проблема в FreeBSD.
версия вашего libidn несовместима с вашим PHP. Вам нужно выполнить apt-get update, затем удалить ваши php модули, само php и удалить mod_php, затем установить php, mod_php и их модули.
Не забудьте выполнить php -m

Ответ или решение

Проблема, с которой вы столкнулись, связана с ошибкой загрузки модуля PHP для Apache на вашем сервере Debian. Давайте разберемся с этим поэтапно.

Шаг 1: Понимание ошибки

Ваш вывод ошибки:

Cannot load /usr/local/apache2/modules/libphp5.so into server: libidn.so.11: cannot open shared object file: No such file or directory

Это указывает на то, что модуль libphp5.so не может быть загружен, поскольку отсутствует требуемая библиотека libidn.so.11.

Шаг 2: Проверка зависимостей

Вы уже выполнили команду ldd /usr/local/apache2/modules/libphp5.so, и в выводе вы увидели, что библиотека libidn.so.11 не найдена. Это означает, что вам нужно установить недостающую библиотеку.

Шаг 3: Установка недостающих библиотек

На вашем сервере Debian выполните следующую команду:

sudo apt-get update
sudo apt-get install libidn11

Если библиотека libidn11 установлена, но вы все еще получаете ошибку, возможно, версии библиотек не совместимы. В этом случае рекомендуется установить пакет libidn11-dev, который может включать дополнительные необходимые файлы:

sudo apt-get install libidn11-dev

Шаг 4: Устранение возможных конфликтов

Если проблемы все еще сохраняются, возможно, вам придется удалить установленные модули PHP и повторно установить их. Это поможет устранить потенциальные конфликты между версиями библиотек. Используйте следующие команды:

sudo apt-get remove --purge php libapache2-mod-php
sudo apt-get install php libapache2-mod-php

Шаг 5: Перезапуск Apache

После установки необходимых зависимостей и повторной установки PHP, перезапустите Apache с помощью следующих команд:

sudo systemctl restart apache2

или

sudo /etc/init.d/apache2 restart

Шаг 6: Проверка загрузки модулей PHP

После успешного перезапуска Apache проверьте загруженные модули PHP с помощью команды:

php -m

Убедитесь, что модуль PHP загружен корректно, и не появляется никаких ошибок.

Вывод

Следуя вышеописанным шагам, вы сможете устранить проблему с загрузкой модуля libphp5.so, связанную с отсутствующей библиотекой libidn.so.11. Если у вас возникнут дополнительные вопросы или трудности, пожалуйста, не стесняйтесь обращаться за помощью.

SEO-оптимизация:

  1. Ключевые слова: Apache, PHP, Debian, libidn, ошибка, модуль, сервер.
  2. Структуризация текста: Используйте заголовки и подзаголовки для улучшения восприятия.
  3. Обратные ссылки: Связывайтесь с ресурсами и документацией, если необходимо для более глубокого понимания.

Эти действия могут помочь вам исправить проблему и стабилизировать работу вашего веб-сервера.

Оцените материал
Добавить комментарий

Капча загружается...