わすれっぽいきみえ

みらいのじぶんにやさしくしてやる

macのphpをアップデート

macに初めから入ってるphpは5.3。

$ php -v
  PHP 5.3.15 with Suhosin-Patch (cli) (built: Aug 28 2012 18:19:13)
  Copyright (c) 1997-2012 The PHP Group
  Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

でも最近5.5出ちゃったし、と思ったので
phpを5.5にあげた。

この時にphpenvとかphp-versionとかhomebrew使おうぜとか
いろんな選択肢があることはよーくわかったんだが、
正直どれもめんどくさそうだったので、タイトルにつられて次のサイトを参考にした。

Macで一番簡単にPHP5.4をインストールする方法 - Shin x blog

いやでも、このブログのタイトル通りめちゃめちゃ簡単だった。

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

私は php5.5を入れようと思ったので、参考ブログのbash -s 5.4ところだけbash -s 5.5に変えてる。 これ自体はsudoで実行しなくても、中でsudoを呼ぶことになるので、このままコマンド打てば良い。

ただし、このままだと/usr/local/php5以下にphp5.5がインストールされるだけで、
pathは自分で追加してやる必要がある。
バイナリを配布している元サイトに従うと

export PATH=/usr/local/php5/bin:$PATH

でおk。

要するにmacにもとから入ってるphpを呼ぶより先にパッケージ使って入れたphpを呼ぶようにしてやるだけ。 macにもとから入ってるphpに上書きする訳ではないのがありがたい。

ここまでやってサーバを立ち上げてみる。

$ php -S 127.0.0.1:8000
PHP 5.5.0 (cli) (built: Jun 21 2013 12:09:38)
Listening on 127.0.0.1:8000
Document root is /path/to
Press Ctrl-C to quit.

Document rootは実際にはphp -Sを実行したディレクトリになるので、ここに

<?php
    phpinfo();

とでも打ったindex.phpをおいてやって、localhost:8000にアクセスしてやれば

f:id:kimikimi714:20130706232401p:plain

が見れると思う。 詰まるところがなくて良かった。

またphp5.4にするのも簡単だった。
基本的に/usr/local/php5というのは/usr/local/php5-5.5.0-20130621-121315のシンボリックリンクなので、

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 5.4

を実行した後、/usr/local/php5のリンク先を/usr/local/php5-5.4.16-20130615-025727に変えてやるだけでいい。
apacheを再起動してやれば

f:id:kimikimi714:20130706220753p:plain

が見れるはず。
本当はphp5.4.17が出たから、同じ5.4系でもできれば5.4.17にしたいけど、
開発者さんががんばってくれたおかげで簡単になってるわけなので、文句言わないの!

今回使ったバイナリに関してもうちょっと補足しておく。
phpの本家サイトにある
OSXにバイナリパッケージでインストールする方法を紹介しているページを見ると
コメントのところに

The Entropy package is no longer maintained.

Liip supply PHP 5.3 and 5.4 packages that are easy to install.

http://php-osx.liip.ch/

と書いてあって、そこからも私が今回使ったバイナリを配布している元サイトにたどっていける。
で、このページの"How can I help?"のところを見ると、
liipのgithubリポジトリに飛べて、
よく見たらメンテが終了したEntropyのリポジトリをforkしていることがわかる。
こうやってプロジェクトが違う人に受け継がれて続くのすごいと思った。

他アンインストールの方法とかはバイナリ配布元サイトをよく読んでください。