Мне нужно запустить PHP 5.6 на Mac, который нужно было обновить до 10.13. Итак, я переустановил 5.6, проверил его местоположение и добавил в httpd.conf:
LoadModule php5_module libexec/apache2/libphp5.so
... и убедился, что строка для PHP 7 все еще закомментирована. После перезапуска Apache, Apache запускается нормально, не выдает ошибок и работает, но без PHP! Поэтому в качестве теста я закомментировал строку PHP 5 и раскомментировал строку PHP 7:
LoadModule php7_module libexec/apache2/libphp7.so
... перезапустил Apache, и снова все работает нормально, но PHP все еще нет! Поэтому я запросил двоичный файл httpd, чтобы убедиться, что редактирую правильный httpd.conf, и я прав. Ни одна из версий PHP не будет работать, и при этом ни одна из них не вызовет ошибку в Apache при запуске. (Когда я говорю, что Apache работает, а PHP - нет, я имею в виду, что браузер отображает:
<?php phpinfo(); ?>
... без рендеринга. Помогите? У меня закончились идеи, как запустить PHP 5.6.
Использование PHP5.6 с HighSierra
Разрешить сборку общего модуля Apache Handler. Убедитесь, что у вас установлена последняя версия PHP56 и включена опция http (при необходимости установите / обновите / переустановите)
$brew upgrade php56 --with-httpd
Связывание модуля в файле конфигурации Apache2 Добавьте следующий оператор в файл конфигурации apache2 /etc/apache2/httpd.conf
LoadModule php5_module /usr/local/Cellar/php56/5.6.32_8/libexec/apache2/libphp5.so
или для более новой версии 5.6.36_1 и выше (кредит @avidenic)
LoadModule php5_module /usr/local/Cellar/php@5.6/5.6.36_1/lib/httpd/modules/libphp5.so
Добавление файла конфигурации PHP5
Сделайте копию из php7.conf
$ cd /etc/apache2/other ; sudo cp php7.conf php5.conf
В php5.conf замените php7_module на php5_module
Перезагрузите сервер Apache
$ sudo /usr/sbin/apachectl restart
Мне пришлось переустановить xcode и php56 с поддержкой apache, чтобы он снова заработал.
xcode-select --install
brew reinstall php56 --with-httpd
libphp5.so больше не предоставляется ОС, но он есть в файловой системе, потому что мы только что его установили. Таким образом, вам также нужно изменить файл конфигурации apache, включив php5:
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Я не знаю, знаете ли вы это, но High Sierra поставляется с собственной версией php, попробуйте запустить этот код:
для i в $ (brew list | grep php); сделать brew uninstall $ i; сделано
это сработало для меня, так как у меня была такая же проблема, затем я заметил, что High Sierra пыталась загрузить свою версию, а не запускала мою.