#前提条件
- macOS High Sierra(10.13.6)
- 以下のようにコマンド上ではPHPバージョンがきちんと変更されている
- でも http://localhost/ とかでアクセスしても切り替わっていない
phpbrew list
php-7.1.12
* php-5.6.32
phpbrew switch php-7.1.12
phpbrew list
* php-7.1.12
php-5.6.32
php -v
PHP 7.1.12 (cli) (built: Dec 18 2017 19:57:19) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
sudo apachectl restart
ここまでは大丈夫なのに http://localhost/ とかでphpinfo()を表示してみるとバージョンが変わっていない!
#考えられる原因
##1. Apacheの設定ファイルの場所が違う
環境によって設定ファイルの場所が異なるので、どれが使われているか確認する
自分はこれが原因で数時間悩みました・・・
(こんなことで・・・)
Mac標準のApacheの設定ファイルは以下
/etc/apache2/httpd.conf
HomebrewでApacheを別途インストールした場合は以下
/usr/local/etc/httpd/httpd.conf
##2.Apache設定ファイルのLoadModuleを書き換えていない
上記設定ファイルの173行目あたり
PHP5ならphp5_moduleのコメントアウトを外す
PHP7ならphp7_moduleのコメントアウトを外す
#LoadModule php5_module /usr/local/lib/httpd/modules/libphp5.6.32.so
#LoadModule php7_module /usr/local/lib/httpd/modules/libphp7.1.12.so
上記2点確認後、Apacheを再起動
sudo apachectl restart