Apache 2.4 PHP Startup: невозможно загрузить динамическую библиотеку 'curl.so', libcurl.4.dylib - PullRequest
0 голосов
/ 08 октября 2018

Я использую macOS 10.12 , Apache 2.4 и PHP 7.2.7

Когда я добавляю строку: LoadModule php5_modulelibexec/apache2/libphp5.so на мой httpd.conf Я получаю следующие ошибки.

httpd not running, trying to start

Предупреждение : запуск PHP: невозможно загрузить динамическую библиотеку 'curl.so '(пробовал: /usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/curl.so (dlopen (/ usr / local / php5 / lib / php / extensions / no-debug-non-zts-20170718 / curl.so, 9): библиотека не загружена: /usr/local/php5/lib/libcurl.4.dylib
Ссылка на: / usr / local / php5 / lib / php /extensions / no-debug-non-zts-20170718 / curl.so
Причина: несовместимая версия библиотеки: curl.so требует версию 9.0.0 или более позднюю, но libcurl.4.dylib предоставляет версию 7.0.0), / usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/curl.so.so (dlopen (/ usr / local / php5 / lib / php / extensions / no-debug-non-zts-20170718 / curl.so.so, 9): изображение не найдено)) в Неизвестно в строке 0

Предупреждение : PHP Startup: невозможно загрузить динамическую библиотеку '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/http.so' (пробовал: / usr / local / php5 / lib/php/extensions/no-debug-non-zts-20170718/http.so (dlopen (/usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/http.so, 9): Библиотека не загружена: /usr/local/php5/lib/libcurl.4.dylib
Ссылка на: / usr / local / php5 / lib / php / extensions / no-debug-non-zts-20170718 / http.поэтому
Причина: несовместимая версия библиотеки: для http.so требуется версия 9.0.0 или более поздняя, ​​но libcurl.4.dylib предоставляет версию 7.0.0), / usr / local / php5 / lib / php / extensions / no-debug-non-zts-20170718 // usr / local / php5 / lib / php / extensions / no-debug-non-zts-20170718 / http.so.so (dlopen (/ usr / local / php5 / lib / php / extensions)/no-debug-non-zts-20170718//usr/local/php5/lib/php/extensions/no-debug-non-zts-20170718/http.so.so, 9): изображение не найдено)) в Неизвестно в линии 0

/usr/sbin/apachectl: line 92:   719 Segmentation fault: 11  $HTTPD "$@"

Я обновил curl с помощью brew, и он показывает:

/usr/local/php5/lib/libcurl.4.dylib (compatibility version 9.0.0, current version 9.0.0)

Я все еще получаю ту же ошибку.

Почему ошибка показывает libcurl.4.dylibпредоставляет версию 7.0.0, когда это версия 9.0.0?Это указывает на более старую версию файла?Они оба показывают это местоположение /usr/local/php5/lib/libcurl.4.dylib

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Я наконец нашел решение, которое работает.

$ brew install httpd php72

Я следовал инструкциям по настройке файла httpd.conf и файла php.ini, и Apache теперь работает нормально.

0 голосов
/ 08 октября 2018

в основном это выглядит так:

требуется версия 9.0.0 или выше, но * .dylib предоставляет версию 7.0.0

это означает, что вы должны установить этибиблиотеки версии 9.0.0 вместо версии 7.0.0.

также странно, что dlopen() жалуется на суффикс имени файла .so.so

...