macOSでhomebrewを使って、php7.3をインストールする方法です
作業手順
macに入っているphpのバージョンを確認します。手元の環境では7.1でした。
$ php -v
PHP 7.1.19 (cli) (built: Aug 17 2018 18:03:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
$ which php
/usr/bin/php
php7.3のパッケージ名を確認します。出力結果よりphp@7.3
であることがわかります。
$ brew search php73
==> Formulae
php@7.3
バージョンphp@7.3
を指定してインストールします。
$ brew install php@7.3
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles-portable-ruby/portable-ruby--2.6.3.mavericks.bottle.tar.gz
######################################################################## 100.0%
...
==> Pouring php-7.3.11.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink sbin/php-fpm
/usr/local/sbin is not writable.
...
==> php
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
再度php -v
を実行してみますが、まだバージョンは変わっていません。
$ php -v
PHP 7.1.19 (cli) (built: Aug 17 2018 18:03:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
brewコマンドでリンクを張り直そうとするが、エラーになりました。
$ brew link php
Linking /usr/local/Cellar/php/7.3.11...
Error: Could not symlink sbin/php-fpm
/usr/local/sbin is not writable.
dry-runしてみると、エラーメッセージの/usr/local/sbin is not writable
にも書かれているとおり、linkコマンドでは/usr/local/sbinにファイルが書き込まれるようです。
$ brew link php --dry-run
Would link:
/usr/local/bin/pear
/usr/local/bin/peardev
/usr/local/bin/pecl
/usr/local/bin/phar
/usr/local/bin/phar.phar
/usr/local/bin/php
/usr/local/bin/php-cgi
/usr/local/bin/php-config
/usr/local/bin/phpdbg
/usr/local/bin/phpize
/usr/local/sbin/php-fpm
/usr/local/include/php
/usr/local/share/man/man1/phar.1
/usr/local/share/man/man1/phar.phar.1
/usr/local/share/man/man1/php-cgi.1
/usr/local/share/man/man1/php-config.1
/usr/local/share/man/man1/php.1
/usr/local/share/man/man1/phpdbg.1
/usr/local/share/man/man1/phpize.1
/usr/local/share/man/man8/php-fpm.8
/usr/local/share/php
/usr/local/lib/httpd
/usr/local/lib/php/build
調べたところ、/usr/local/sbin
ディレクトリがなかったので作成して、linkを再実行します。
$ sudo mkdir /usr/local/sbin
$ sudo chown -R $(whoami):wheel /usr/local/sbin
$ brew link php
Linking /usr/local/Cellar/php/7.3.11... 24 symlinks created
7.3のコマンドが実行できるようになりました。
(ダメだったら別のターミナルを開いて試してみてください)
$ php -v
PHP 7.3.11 (cli) (built: Oct 24 2019 11:29:52) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.11, Copyright (c) 1999-2018, by Zend Technologies
$ ls -l /usr/local/bin/php
lrwxr-xr-x 1 user wheel 28 Oct 29 03:16 /usr/local/bin/php -> ../Cellar/php/7.3.11/bin/php
こちらもおススメ