PHP 7.1 を macOS に Homebrew でインストールする手順

投稿者 : OSCA

[PR] "東野・岡村の旅猿"で登場したロケ地を紹介するファンサイト「あの場所へ行こう!」はこちら。

 本稿では PHP 7.1 を macOS に Homebrew を用いてインストールする手順について解説します。

インストール

 まずは brew search コマンドを利用して PHP 7.1 が提供されていることを確認するために、検索をしてみましょう。 キーワードに php@7.1 を指定して、次のように検索します。

$ brew search php@7.1
==> Formulae
php@7.1

 この例のように Formulae に php@7.1 と表示されればOKです、PHP 7.1 が提供されていることが確認できました。 それではインストールをしましょう、次のように brew install コマンドで php@7.1 を指定するとインストールが開始します。

$ brew install php@7.1
(中略)
==> Downloading https://homebrew.bintray.com/bottles/php@7.1-7.1.21.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring php@7.1--7.1.21.high_sierra.bottle.tar.gz
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set php_ini /usr/local/etc/php/7.1/php.ini system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set php_dir /usr/local/share/pear@7.1 system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set doc_dir /usr/local/share/pear@7.1/doc system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set ext_dir /usr/local/lib/php/pecl/20160303 system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set bin_dir /usr/local/opt/php@7.1/bin system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set data_dir /usr/local/share/pear@7.1/data system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set cfg_dir /usr/local/share/pear@7.1/cfg system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set www_dir /usr/local/share/pear@7.1/htdocs system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set man_dir /usr/local/share/man system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set test_dir /usr/local/share/pear@7.1/test system
==> /usr/local/Cellar/php@7.1/7.1.21/bin/pear config-set php_bin /usr/local/opt/php@7.1/bin/php system
==> /usr/local/Cellar/php@7.1/7.1.21/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@7.1/lib/httpd/modules/libphp7.so

    
        SetHandler application/x-httpd-php
    

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.1/

php@7.1 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have php@7.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
  echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile

For compilers to find php@7.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/php@7.1/lib"
  export CPPFLAGS="-I/usr/local/opt/php@7.1/include"


To have launchd start php@7.1 now and restart at login:
  brew services start php@7.1
Or, if you don't want/need a background service you can just run:
  php-fpm
==> Summary
🍺  /usr/local/Cellar/php@7.1/7.1.21: 514 files, 67.2MB

 上記のように表示されて PHP 7.1 のインストールが完了します。

パスを通す

 インストールが完了する際に以下のような記述が表示されています。

php@7.1 is keg-only, which means it was not symlinked into /usr/local

 このメッセージが意味するところは「インストールはしたけどパスは通していない」ということです。 さらに表示されたメッセージに以下のような記述があります。

If you need to have php@7.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
  echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile

 ~/.bash_profileexport コマンドでパスを通すような記述を追加すれば、パスを通すことができると言っていますので、言われた通りにコマンドを実行します。

$ echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile

 念のため ~/.bash_profile ファイルを開いて、末尾に次のように2行追加されたことを確認しましょう。

export PATH="/usr/local/opt/php@7.1/bin:$PATH"
export PATH="/usr/local/opt/php@7.1/sbin:$PATH"

 最後に、macOS にログインし直すか、もしくは次のようなコマンドで ~/.bash_profile を実行し直します。 (~/.bash_profile は、ユーザが macOS にログインした時に実行されるファイルですので、再ログインするか、手動で実行してあげるというわけです)

$ source ~/.bash_profile

動作確認

 インストールが正しく完了したかを確認するため、php -v コマンドでインストールされた PHP のバージョンを表示してみます。 PHP 7.1 がインストールされたのがわかるでしょう。

$ php -v
PHP 7.1.21 (cli) (built: Aug 20 2018 20:41:15) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.1.21, Copyright (c) 1999-2018, by Zend Technologies

インストールされたファイル

 最後に PHP 7.1 の主なファイルがどこにインストールされたかを確認しておきましょう。

ファイル 概要
/usr/local/opt/php@7.1/ PHPのバイナリが保存されている。
/usr/local/etc/php7.1/ PHPの設定ファイルが保存されている。 php.ini もここにある。

おわりに

 本稿では PHP 7.1 を macOS に Homebrew を用いてインストールする方法について解説しました。 皆様のお仕事のお役に立てれば幸いです。

PHP環境構築トップページへ戻る

PHPのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca