1

Я только что установил PHP 5.4.19 на мой Mac OS X 10.6.8, используя homebrew. Ранее я использовал PHP 5.3.26, вероятно, установленный с MacPorts.

Если я наберу php -v в терминале, я получу PHP 5.4.19. Если я загружаю файл phpinfo() через мой локальный хост, я получаю PHP 5.3.26. Как поручить Apache загрузить мою новую установку PHP?

Если я запускаю php --ini , я получаю:

Configuration File (php.ini) Path: /usr/local/etc/php/5.4
Loaded Configuration File:         /usr/local/etc/php/5.4/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.4/conf.d
Additional .ini files parsed:      /usr/local/etc/php/5.4/conf.d/ext-mcrypt.ini

Мой файл /etc/apache2/httpd.conf имеет следующую настройку:

LoadModule php5_module        libexec/apache2/libphp5.so
#LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so

Я попытался изменить LoadModule в моем файле httpd.conf на:

/usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so ,

но я получаю сообщение об ошибке:

httpd: Syntax error on line 118 of /private/etc/apache2/httpd.conf: Cannot load /usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so into server: dlopen(/usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so, 10): Library not loaded: /usr/local/opt/curl/lib/libcurl.4.dylib\n Referenced from: /usr/local/Cellar/php54/5.4.19/libexec/apache2/libphp5.so\n Reason: Incompatible library version: libphp5.so requires version 8.0.0 or later, but libcurl.4.dylib provides version 6.0.0

Какие-либо предложения?

3 ответа3

1

Сначала откройте файл конфигурации Apache2 в терминале:

sudo nano /private/etc/apache2/httpd-conf

Конец нажмите ctrl + w для поиска libphp5.so . Найдя его строку, поставьте # beginnig строки, чтобы отключить ее. Итак, вот последний взгляд:

#LoadModule php5_module libexec/apache2/libphp5.so

После перезапуска вашего Apache с помощью sudo apachectl graceful localhost распознает PHP 5.4 как версию по умолчанию.

1

Моя версия PHP, запущенная в терминале, была 5.3, а localhost показывает 5.4. Но после того, как я попробовал неудачный способ из первого поста, я смог синхронизировать версию php в обеих средах.

Просто перезагрузите модуль php5_module

LoadModule php5_module /usr/local/Cellar/php53/5.3.28/libexec/apache2/libphp5.so
0

Я не уверен, насколько хорошо brew и порты работают вместе, но, возможно, вам следует использовать brew install как apache2, так и PHP.

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