最近、OSX ServerをYosemite 10.10.3のクリーンインストールにインストールしましたが、Apache構成をカスタマイズして、サーバーで使用されているPHPのバージョンを変更したいと考えました。homebrewを使用してphpをインストールし、Apache構成ファイルに変更を加えました。これは、ApacheがYosemiteに同梱されているデフォルトバージョンのPHPを使用するように戻ったことに気付いた翌日まで、うまくいきました。
少し遊んでみたところ、/Library/Server/Web/Config/apache2/httpd_server_app.conf
OSX Serverアプリケーションを再起動するたびに、編集していたApache構成ファイル()が再生成され、Yosemiteに同梱されているデフォルトバージョンのPHPに戻されることに気付きました。
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構成の編集に関連する他のシナリオがあると思います。