[Sy] macOS (High Sierra) にて PHP をアップデートする手順( PHP5.6 -> PHP7.0 )
2018/08/20
macOS (High Sierra) にて PHP5.6 から 7.0 にアップデートする手順です。 Homebrew を使ってます。
1. PHP7.0 をインストール
Homebrew を使って、 PHP7.0 を以下のようにインストールします。
$ brew install php@7.0
2. PATH の設定を変更
.bashrc
や .zshrc
を編集し、 今インストールした PHP7.0 を有効にするために PATH を次のようにします。(おそらく元々 PHP5.6 の設定が書いてあるはずなので、それを修正します)
$ vim ~/.bashrc
(.bashrc)
export PATH="/usr/local/opt/php@7.0/bin:$PATH"
export PATH="/usr/local/opt/php@7.0/sbin:$PATH"
保存して、変更した内容を反映させます。
$ source ~/.bashrc
3. 確認
ちゃんとバージョンが切り替わったかどうか確認します。
$ php -version
PHP 7.0.31 (cli) (built: Jul 19 2018 23:41:03) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.31, Copyright (c) 1999-2017, by Zend Technologies
php-fpm も合わせて確認しておきます。
$ php-fpm -version
PHP 7.0.31 (fpm-fcgi) (built: Jul 19 2018 23:41:09)
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.31, Copyright (c) 1999-2017, by Zend Technologies
4. php-fpm 自動起動の設定
(必要に応じて)
macOS の起動時に自動で php-fpm を起動するようにしておきます。
まずは次のように準備しておきます。
$ cp /usr/local/opt/php@7.0/homebrew.mxcl.php@7.0.plist ~/Library/LaunchAgents/
ここで、もしこのように古いバージョンのプロセスが生きているようであれば、
$ ps ax | grep php
87536 ?? S 0:02.53 /usr/local/opt/php@5.6/sbin/php-fpm --nodaemonize
87538 ?? S 0:00.74 /usr/local/opt/php@5.6/sbin/php-fpm --nodaemonize
87539 ?? S 0:00.55 /usr/local/opt/php@5.6/sbin/php-fpm --nodaemonize
87540 ?? S 0:00.82 /usr/local/opt/php@5.6/sbin/php-fpm --nodaemonize
571 s003 S+ 0:00.00 grep php
プロセス&自動起動を終了しておきましょう。(plist
のファイル名は、若干異なる可能性もあります。LaunchAgents
ディレクトリを確認してみてください。)
$ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php@5.6.plist
念の為プロセスがいなくなったかどうか確認します。
$ ps ax | grep php
576 s003 R+ 0:00.00 grep php
php-fpm
のプロセスがなくなったら、次のように 7.0 のプロセスを起動します。同時に自動起動の設定もこれで OK です。
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php@7.0.plist
$ ps ax | grep php
579 ?? S 0:00.08 /usr/local/opt/php@7.0/sbin/php-fpm --nodaemonize
581 ?? S 0:00.00 /usr/local/opt/php@7.0/sbin/php-fpm --nodaemonize
587 ?? S 0:00.00 /usr/local/opt/php@7.0/sbin/php-fpm --nodaemonize
589 s003 S+ 0:00.00 grep php
あとは必要に応じて、 /usr/local/etc/php/7.0/php.ini
や /usr/local/etc/php/7.0/php-fpm.d/www.conf
などの設定をいじってください。