PHP5からPHP7に移行する
やりたかったこと
- Laravelを動かすために、PHP7.1以上が必要。
- MacのデフォルトはPHP5.6だったためバージョンアップしなければいけない。
やったこと1
現在のバージョン確認
$ php -v
結果:PHP 5.6.3 と表示される。
HomebrewでPHP7にバージョンアップする
MacにHomebrewをインストールする。
公式ホームページ
参考ページ
https://qiita.com/is0me/items/475fdbc4d770534f9ef1
HomebrewでPHPを検索
結果:PHP@7.1 PHP@7.2 PHP@7.3 と表示される。
PHPをインストール
Pathを通す
.bashrc に追加する
$ export PATH="/usr/local/opt/php@7.1/bin:$PATH"
$ export PATH="/usr/local/opt/php@7.1/sbin:$PATH"
再びバージョン確認
$ php -v
結果:PHP7.1に・・・なっていない。(PHP5.6のままだった)
やったこと2
Macのローカル環境でPHP7.1を使えるようにする
PHP7.1はインストールしてあって、パスも通してあるはずなのにバージョンがPHP5.6のままだ。
$ echo $PATH
で確認してみると、
/usr/bin が /usr/local/bin よりも前に設定されている。
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:
こんな感じ。
そのため、/usr/bin: が先に実行されデフォルトのPHP5.6が読み込まれてしまう。
(Homebrewは /usr/local/bin: の下にインストールされるはず。)
HomebrewでインストールしたPHPを使いたい場合は、 /usr/local/bin: を先に書く。
Pathを修正して再びバージョン確認
$ php -v
結果:PHP 5.6.3・・がーん
やったこと3
~/.bashrc と ~/.bash_profile の修正
まずログイン時に真っ先に適用されるのは、~/.bash_profile~ ということを覚えておく。
~/.bashrc も似ているけど、こちらはシェル起動時に毎回評価されるもの。
ログイン時は新しいシェルを呼び出していると判断されないので、~/.bashrc は呼び出されないということになる。
そこで、~/.bash_profile から ~/.bashrc を呼び出すように設定する。
中身の記述
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
:qw で保存して終了。
バージョン確認
$ php -v
結果:PHP 7.1・・・やった!!
ちなみに
やったこと1のPathを通す段階で、.bashrc ではなく .bash_profile に設定していればそのままPathは通っていたかも。
(それに、.bashrcにexportは書かないものらしい。)
.bashrc と.bash_profileについてもっと理解したいので、別途勉強しようと思います。
参考サイト 本当に正しい .bashrc と .bash_profile の使ひ分け - Qiita