#状況説明
#####開発環境
- Server:Apache/2.4.25 (Unix)
- OS:mac 10.12.16
- php:5.6
#####何かあった
- 昨日MacデフォルトのPHPバージョンを5.6から7.2に更新しました。更新した直後はローカルのzendframeworkアプリは普通に動いています。
- 今日一回apacheをrestartしたら、localhostが開かなくなった。どうやらapacheが動けなくなったらしい。
- 問題特定するため、ターミナルにhttpd -tを入力したら、「Syntax OK」しか返ってこない。
- 他には sudo apachectl configtest も試したけど、「Connection refused」が返って、原因の特定に至っていませんでした。
#問題の在り処
その後も色々試したあと、最終的に問題点を掴みました。
#####PHPの更新によって、apacheの設定も更新しなければならない
何かアホそうな結論に至ってしまいました(汗)。
#対処法
- 原因として、apacheでphpのプログラムを動かしたい場合、引用が必要です
- MACでは予めapacheが搭載され、デフォルト的にはphp5を指定しています:
httpd.conf
LoadModule php5_module libexec/apache2/libphp5.so
- ただphpの更新で、引用も新しいバージョンに変えないと、apacheが動けなくなりそうです。
- 解決策はシンプルに、新しいバージョンの引用を付き加えれば良い
httpd.conf
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php7_module 「ここは自分のlibphp7.soの位置を指定」
- libphp7.soの位置がわからない場合は、ターミナルに「locate libphp7.so」を打ってば分かるはずです。
- httpd.confの位置は/etc/apache2/にありますが、システムに違いによって異なる可能があります、また、homebrewでインストールされたapacheでは別の場所にいますので、httpd -Vで確認できます。