Недавно я установил OSX Server на чистую установку Yosemite 10.10.3 и хотел настроить конфигурацию apache для изменения версии PHP, используемой сервером. Я установил php с помощью homebrew и внес изменения в конфигурационный файл apache. Это работало нормально, пока на следующий день я не заметил, что apache вернулся к использованию версии PHP по умолчанию, поставляемой с Yosemite.
Немного поиграв, я понял, что файл конфигурации apache, который я редактировал (/Library/Server/Web/Config/apache2/httpd_server_app.conf
), перегенерируется каждый раз, когда приложение OSX Server перезапускается, возвращая его вернуться к версии PHP по умолчанию, которая поставляется с Yosemite.
Существует ли httpd.conf
умолчанию, из которого OSX Sever генерирует свой httpd_server_app.conf
?
ОБНОВИТЬ:
Я немного покопался. Когда я добавил вызов LoadModule в httpd_server_app.conf
я закомментировал старую версию и добавил вызов к новой в следующей строке.
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
При перезапуске сервера вновь сгенерированный файл выглядит так (вызов нового модуля остается, но вызов старого модуля не комментируется):
LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/apache2/libphp5.so
Apache загружает первый модуль, который в этом случае будет старой версией. Если я помещу новый вызов модуля выше старого, то это решит проблему для меня. Хотя это не кажется идеальным решением, так как я остаюсь с другим вызовом LoadModule без комментариев.
Я предполагаю, что есть другие сценарии, относящиеся к редактированию конфигурации apache, где простое изменение порядка не решило бы проблему.