44
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HomebrewでPHP7.2を導入する

Last updated at Posted at 2018-01-22

はじめに

開発環境をWindowsからMacに移したので、ガシガシ環境構築中です。
最近のMacはすごいですね、デフォルトでPHP7.1装備とは。

とはいえ、最新バージョンはPHP7.2。
composer入れたかったこともあり、ついでにHomebrewでサクッとアップグレードしちゃいました。
その手順を記します。

Homebrewのインストール

まずはここから。
公式に従って、コマンドをターミナルに貼り付けるだけ。簡単。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew --version
Homebrew 1.5.1
Homebrew/homebrew-core (git revision 6236; last commit 2018-01-22)

問題なし。

PHP7.2のインストール

composerをHomebrewで入れるには、先に Homebrewでインストールした PHPが必要とのこと。
cf. MacにHomebrewでComposerをインストールしました - Qiita

HomebrewのPHPを先に入れろとあります。おそらくMacデフォルトのPHPではだめなのだと思います。

作業前に、MacデフォルトのPHPの状態をチェック。

$ php -v
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
$ 
$ which php
/usr/bin/php

Let's brew install

では入れていきましょう。

…と、その前に、インストールする時の名前が分からないので、brew searchで先に調べます。

$ brew search php72
==> Searching local taps...
==> Searching taps on GitHub...
homebrew/php/php72                       homebrew/php/php72-mosquitto
homebrew/php/php72-amqp                  homebrew/php/php72-msgpack
homebrew/php/php72-apcu                  homebrew/php/php72-mustache
homebrew/php/php72-apcu-bc               homebrew/php/php72-oauth
homebrew/php/php72-ast                   homebrew/php/php72-opcache
homebrew/php/php72-blitz                 homebrew/php/php72-pcntl
homebrew/php/php72-couchbase             homebrew/php/php72-pdo-dblib
homebrew/php/php72-ds                    homebrew/php/php72-pdo-pgsql
homebrew/php/php72-ev                    homebrew/php/php72-phalcon
homebrew/php/php72-event                 homebrew/php/php72-propro
homebrew/php/php72-gearman               homebrew/php/php72-pspell
homebrew/php/php72-geoip                 homebrew/php/php72-raphf
homebrew/php/php72-geos                  homebrew/php/php72-rdkafka
homebrew/php/php72-gmagick               homebrew/php/php72-redis
homebrew/php/php72-gmp                   homebrew/php/php72-ref
homebrew/php/php72-grpc                  homebrew/php/php72-snmp
homebrew/php/php72-hprose                homebrew/php/php72-ssh2
homebrew/php/php72-http                  homebrew/php/php72-stats
homebrew/php/php72-igbinary              homebrew/php/php72-swoole
homebrew/php/php72-imagick               homebrew/php/php72-tidy
homebrew/php/php72-intl                  homebrew/php/php72-timecop
homebrew/php/php72-lua                   homebrew/php/php72-timezonedb
homebrew/php/php72-lz4                   homebrew/php/php72-trader
homebrew/php/php72-lzf                   homebrew/php/php72-uopz
homebrew/php/php72-mailparse             homebrew/php/php72-uv
homebrew/php/php72-maxminddb             homebrew/php/php72-v8js
homebrew/php/php72-mecab                 homebrew/php/php72-xdebug
homebrew/php/php72-memcached             homebrew/php/php72-xxtea
homebrew/php/php72-meminfo               homebrew/php/php72-yac
homebrew/php/php72-molten                homebrew/php/php72-yaml
homebrew/php/php72-mongodb
==> Searching blacklisted, migrated and deleted formulae...

homebrew/php/php72というのがインストールする時のformulaeの名前なようです。
Webtaticなどのリポジトリからインストールする時とは、全く名前が違うので、各々どんな用途で使えるのか、改めて調べる必要がありそうです。
homebrew/php/php72-xdebugとかは分かりやすくて有り難いですが。

とりあえず今回はhomebrew/php/php72だけ入れてみましょう。

$ brew install homebrew/php/php72
==> Tapping homebrew/php
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-php'...
~~中略~~
To have launchd start homebrew/php/php72 now and restart at login:
  brew services start homebrew/php/php72
==> Summary
🍺  /usr/local/Cellar/php72/7.2.1_12: 350 files, 46.6MB
$ php -v
PHP 7.1.7 (cli) (built: Jul 15 2017 18:08:09) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

あれ?反映されてない。。。と思ったら。

To have launchd start homebrew/php/php72 now and restart at login

なるほど。ターミナルを再起動すれば良いんですね。
ターミナル再起動して改めて。

$ php -v
PHP 7.2.1 (cli) (built: Jan  5 2018 17:34:14) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
$ which php
/usr/local/bin/php

問題ありませんね。
パスも/usr/bin/phpから、Homebrewが使用する/usr/local/bin/phpに変わってますね。

これでリリースされたてのPHP7.2の新機能も試せますね。
Macはあらゆる環境構築が楽で助かります。


ここから先はおまけです。

homebrew/php/php72の中身

先述しましたが、Webtaticなどから入れるのと勝手が違ったので、中にどんなモジュールが含まれてるのか覗いてみました。
せっかくなので、別記事にします。

homebrew/php/php72にどんなモジュールが含まれてるか覗いてみた - Qiita

一通り必要なモジュール揃ってますね。楽ちん。

composerのインストール

これも別記事に。
別記事にするほどボリューム無かったので統合。

まずはbrew searchしてformulaeの名前を調べます。

$ brew search composer
==> Searching local taps...
homebrew/php/composer      homebrew/php/composer@1.2  homebrew/php/composer@1.5
==> Searching taps on GitHub...
==> Searching blacklisted, migrated and deleted formulae...

何やら3つヒットしましたが、違いがよく分からないので、ここは素直に無印版を。

$ brew install homebrew/php/composer
==> Installing composer from homebrew/php
==> Downloading https://homebrew.bintray.com/bottles-php/composer-1.6.2.high_sie
######################################################################## 100.0%
==> Pouring composer-1.6.2.high_sierra.bottle.tar.gz
==> Caveats
      composer no longer depends on the homebrew php Formulas since the last couple of macOS releases
      contains a php version compatible with composer. If this has been part of your workflow
      previously then please make the appropriate changes and `brew install php71` or other appropriate
      Homebrew PHP version.
==> Summary
🍺  /usr/local/Cellar/composer/1.6.2: 5 files, 1.8MB

終わったっぽいので、入ったのかどうか確認してみましょう。

$ composer
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.6.2 2018-01-05 15:28:41

終了。
さっき3つヒットしたうちの、残り2つは古いバージョンみたいですね。なるほど。
無印版で正解だったようです。

44
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
44
46

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?