はじめに
PHPのバージョンを上げる際、色々やりすぎて訳わからなくなって他ので思考整理のため、備忘録としてまとめました。
今回はPHP7.2x系から7.3x系へのバージョンアップを行います。
手順
現在のバージョンを確認します。
$ php -v
PHP 7.2.19 (cli) (built: Jun 17 2019 09:03:55) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.19, Copyright (c) 1999-2018, by Zend Technologies
PHP7.2x系になってることが確認できました。
brew search
コマンドでbrew installできるphpのバージョンを確認できます。
(今回はphp7系で探してみます。)
$ brew search php@7
==> Formulae
php@7.1 php@7.2 ✔ php@7.3
上記のように表示されるはずです。
自分はphp@7.2は既にインストール済みなので右にチェックマークがついてます。
ではphp@7.3をインストールしましょう。
$ brew install php@7.3
==> Downloading https://homebrew.bintray.com/bottles/php-7.3.6_1.mojave.bottle.tar.gz
Already downloaded: /Users/KazukiSaito/Library/Caches/Homebrew/downloads/d1adefd1f87d0e00b888bf32e0a29a1e0e0ee885ff3508c2e46ce1ad7f1711d9--php-7.3.6_1.mojave.bottle.tar.gz
==> Pouring php-7.3.6_1.mojave.bottle.tar.gz
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set php_ini /usr/local/etc/php/7.3/php.ini system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set php_dir /usr/local/share/pear system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set doc_dir /usr/local/share/pear/doc system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set ext_dir /usr/local/lib/php/pecl/20180731 system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set bin_dir /usr/local/opt/php/bin system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set data_dir /usr/local/share/pear/data system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set cfg_dir /usr/local/share/pear/cfg system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set www_dir /usr/local/share/pear/htdocs system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set man_dir /usr/local/share/man system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set test_dir /usr/local/share/pear/test system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear config-set php_bin /usr/local/opt/php/bin/php system
==> /usr/local/Cellar/php/7.3.6_1/bin/pear update-channels
==> Caveats
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
The php.ini and php-fpm.ini file can be found in:
/usr/local/etc/php/7.3/
To have launchd start php now and restart at login:
brew services start php
Or, if you don't want/need a background service you can just run:
php-fpm
==> Summary
🍺 /usr/local/Cellar/php/7.3.6_1: 521 files, 77.0MB
$
これでインストールできたはずです。
(先ほどのphp searchコマンドで確認したらphp@7.3の横にもチェックマークがついてるのが確認できるはずです。)
PHPの環境PATHを通します。
現在のPATHを確認します。(ちなみにこの時点でバージョンは変わってないはずです。)
$ which php
/usr/local/opt/php@7.2/bin/php
上記のようになってますね。
以下の7.2を7.3に変えるだけです。
$ vi .bash_profile
- export PATH="$PATH:/usr/local/opt/php@7.2/bin"
+ export PATH="$PATH:/usr/local/opt/php@7.3/bin"
再度バージョンを確認します。
$ php -v
PHP 7.3.6 (cli) (built: Jun 17 2019 08:40:34) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.6, Copyright (c) 1999-2018, by Zend Technologies
反映されてますね。
ちなみにPHPの環境PATHの方も確認してみます。
$ which php
/usr/local/opt/php@7.3/bin/php
PATHの方も反映されてますね。
これで終わりです。
まとめ
①brew installでアップグレードしたいバージョンのPHPを取得する。
②環境PATHを通す。
Homebrewを使ってPHPのバージョンをアップグレードしたい時は上記2点のポイントを抑えておけば今後のバージョンアップグレードは困らないと思います。
(やったことないので分からないけど多分、ダウングレードも同じ要領で行けるのかな・・・、ここについては自信ないです。)