PHP 5.3.3 скомпилирован на Mac OS X 10.6 - при попытке запустить Apache используется /usr/lib а не /opt/local/lib указанный при настройке PHP.

Почему он пытается загрузить из /usr/lib когда я указал в моей конфигурации не для?

httpd: синтаксическая ошибка в строке 115 файла /private/etc/apache2/httpd.conf: невозможно загрузить /usr/libexec/apache2/libphp5.so на сервер: dlopen(/usr/libexec/apache2/libphp5.so, 10): Библиотека не загружена: /opt/local/lib/libiconv.2.dylib\n Ссылка на: /usr/libexec/apache2/libphp5.so\n Причина: несовместимая версия библиотеки: libphp5.so требует версию 8.0.0 или новее, но libiconv.2.dylib предоставляет версию 7.0.0

Приведенное выше сообщение об ошибке относится к /opt/local/lib который при запуске:

otool -LD /opt/local/lib/libiconv.2.dylib 

Сообщение:

/opt/local/lib/libiconv.2.dylib: /opt/local/lib/libiconv.2.dylib (совместимость версия 8.0.0, текущая версия 8.0.0) /usr /lib /libSystem.B.dylib (совместимость версия 1.0.0, текущая версия 125.0.0)

Это показывает, что версия отличается от того, что выдает httpd .

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

1 ответ1

1

Поскольку у вас есть файлы в /opt/local я предполагаю, что вы используете MacPorts. В этом случае PHP будет скомпилирован для Apache в MacPorts (в /opt/local/bin), и вам нужно будет его настроить и запустить, а не по умолчанию, предоставленный Apple.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .