Macでhomebrewを使ってphp7.3をインストールする

カテゴリ: Mac, PHP | タグ:

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
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。