phpbrewでPHPバージョンを変更しても、ローカル環境で反映されないとき
前提条件
- 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
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
Author And Source
この問題について(phpbrewでPHPバージョンを変更しても、ローカル環境で反映されないとき), 我々は、より多くの情報をここで見つけました https://qiita.com/naoyago/items/9b0a0b42e53747392dd3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .