MacにHomebrewでPHP5.4をインストールする

2013年2月25日

PHP

2014年2月20日追記
PHP 5.5 のインストールも書きました。

PHP
MacにPHP5.5をインストール。OPcacheとAPCuも設定

PHP 5.5 がリリースされてから半年弱、そろそろ試さないと、と思っているうちに PHP 5.6 のアルファ版がリリー ...

続きを見る

この記事は Homebrew で PHP5.4 をインストールしたときのメモです。

PHP5.4 のインストール、PEAR の設定、PHPUnit のインストール、extension のインストール方法を紹介します。Apache は Mountain Lion に標準で入っているものを使います。

動作確認環境

  • MacBook Air 2012 mid
  • OS X Mountain Lion

目次

  1. Apache の起動と動作確認
  2. ホームディレクトリ直下の Sites ディレクトリに WEB コンテンツを配置する
  3. tap コマンドで PHP 用の Formula を追加
  4. PHP をインストールする
  5. Apache から PHP を利用できるようにする
  6. php.ini の初期設定を行う
  7. PEAR の初期設定を行う
  8. PHPUnit をインストールする
  9. extension をインストールする
  10. PHP のバージョンアップ
  11. PEAR のバージョンアップ

Apache の起動と動作確認

Apacheを起動する

Apache は Mountain Lion に最初から入っているものを使用します。apachectl start コマンドで Apache を起動します。

$ sudo apachectl start

ブラウザから動作確認する

ブラウザを開き、URL にアクセスして動作確認します。「It works!」と表示されれば OK です。

http://localhost

ホームディレクトリ直下の Sites ディレクトリに WEB コンテンツを配置する

デフォルトで入っている Apache の DocumentRoot が /Library/WebServer/Documents になっていて扱いづらいので、Snow Leopard の時のように、ホームディレクトリ直下の Sites ディレクトリで WEB コンテンツを管理できるようにします。Apache の ユーザディレクトリという仕組みを使います。

Sites ディレクトリと動作確認用のファイルを作成

ホームディレクトリ直下に Sites ディレクトリを作成して動作確認用のファイルを作成します。

$ mkdir ~/Sites
$ mkdir ~/Sites/.localized
$ echo 'It Works!' > ~/Sites/index.html
$ echo '<?php phpinfo(); ?>' > ~/Sites/phpinfo.php

Apache のユーザーディレクトリを設定

Apache のユーザーディレクトリを設定します。ユーザー名はご自身のユーザー名に置き換えてください。

$ sudo vi /etc/apache2/users/ユーザー名.conf
<Directory "/Users/ユーザー名/Sites/">
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Apache を再起動して動作確認

apachectl restart コマンドで Apache を再起動します。

$ apachectl restart

ブラウザで下記 URL を入力して動作確認します。It works! と表示されればOKです。

http://localhost/~ユーザー名/

うまくいかない場合は

うまくいかない場合は Apache のエラーログを確認します。

$ tail /private/var/log/apache2/error_log

tap コマンドで PHP 用の Formula を追加

ここからが本題。PHP をインストールします。

brew tap コマンドで PHP の Formula(リポジトリ) を追加します。インストール方法は本家サイトのドキュメントに詳しく書かれています。迷ったら本家ドキュメントをご確認ください。

Homebrew/homebrew-php

$ brew tap homebrew/dupes
$ brew tap josegonzalez/homebrew-php

brew tap とは、github に登録されている野良リポジトリ(公式でないリポジトリ)を扱えるようにするコマンドです。

PHP をインストールする

インストールオプションを確認する

brew options コマンドで PHP のインストールオプションを確認します。必要なオプションがあれば、インストール時に指定します。

$ brew options php54
--without-bz2
	Build without bz2 support
--with-debug
	Compile with debugging symbols
--with-mysql
	Include MySQL support
...

PHP をインストールする

brew install コマンドで PHP をインストールします。この後 MySQL もインストールしますので、インストールオプションに MySQL のドライバを指定しています。オプションは後から変更できるので、お気楽にどうぞ。

$ brew install php54 --with-mysql

コマンドを実行すると、コンパイル結果などが表示されます。軽く結果を見ておきましょう。Warning などは出ていませんか?

最後のほうに表示されるメッセージを確認する

最後のほうに表示されるメッセージには、結構大事なことが書かれています。必要に応じて追加操作を行いましょう。

To enable PHP in Apache add the following to httpd.conf and restart Apache:
    LoadModule php5_module    /usr/local/Cellar/php54/5.4.9/libexec/apache2/libphp5.so
The php.ini file can be found in:
    /usr/local/etc/php/5.4/php.ini
✩✩✩✩ PEAR ✩✩✩✩
If PEAR complains about permissions, 'fix' the default PEAR permissions and config:
    chmod -R ug+w /usr/local/Cellar/php54/5.4.9/lib/php
    pear config-set php_ini /usr/local/etc/php/5.4/php.ini
✩✩✩✩ Extensions ✩✩✩✩
If you are having issues with custom extension compiling, ensure that this php is
in your PATH:
    PATH="$(brew --prefix josegonzalez/php/php54)/bin:$PATH"
PHP54 Extensions will always be compiled against this PHP. Please install them
using --without-homebrew-php to enable compiling against system PHP.

メッセージを後から確認する

上記のメッセージは brew info コマンドでいつでも確認できます。

$ brew info php54

Apache から PHP を利用できるようにする

インストール後のメッセージの通り、設定を行います。まずは Apache の設定から。

httpd.conf の修正

httpd.conf の 50 行目あたりから LoadModule の設定が並んでいます。LoadModule の末尾に PHP のモジュールを読み込む記述を追加します。PHPのバージョン番号は適宜置き換えてください。

$ sudo vi /etc/apache2/httpd.conf
...
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
#↓追記
LoadModule php5_module /usr/local/Cellar/php54/5.4.9/libexec/apache2/libphp5.so
#↑追記
...

Apache を再起動して動作確認

Apache を再起動して、さきほど作成した phpinfo.php をブラウザで表示してみましょう。

http://localhost/~ユーザー名/phpinfo.php

php.ini の初期設定を行う

php.ini の初期設定を行います。timezone と、mbstring を設定しておきます。

$ sudo vi /usr/local/etc/php/5.4/php.ini
[Date]
date.timezone = Asia/Tokyo
[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8

PEAR の初期設定を行う

以下のコマンドで PEAR の初期設定を行います。PHPのバージョン番号は適宜置き換えてください。

$ chmod -R ug+w /usr/local/Cellar/php54/5.4.9/lib/php
$ pear config-set php_ini /usr/local/etc/php/5.4/php.ini

PHPUnit をインストールする

PEAR の設定が完了したら、動作確認ついでに PHPUnit と Phing をインストールしてみます。

$ pear config-set auto_discover 1
$ pear install pear.phpunit.de/PHPUnit
$ pear install pear.phing.info/phing

インストール直後は phpunit コマンドにシンボリックリンクが貼られていないので、一度 unlink してシンボリックリンクの初期化を行います。

$ brew unlink php54
$ brew link php54

phpunit コマンドが使えるようになったか確認します。

$ phpunit --version

extension をインストールする

PHP の extension をインストールします。以下のコマンドで extension を探します。

$ brew search php54
php54
php54-amqp
php54-apc
php54-dbase
php54-gearman
php54-geoip
...

Symfony2 の開発に必要な、apc, intl, xdebug をインストールします。

$ brew install php54-apc
$ brew install php54-intl
$ brew install php54-xdebug

インストールが完了したら、Apache を再起動して phpinfo を確認します。

PHP のバージョンアップ

PHP のバージョンが上がっていたら、次の手順でバージョンアップします。PHP5.4.9 から 5.4.10 にバージョンアップする例です。

PHP のバージョンが上がっているか確認

brew outdated コマンドでバージョンアップ可能な Fomula が表示されます。

$ brew update
$ brew outdated

PHP を最新版に更新する

upgrade コマンドで最新版に更新します。

$ brew upgrade php54

httpd.conf の書き換え

最新版の PHP は別ディレクトリにインストールされます。Apache の httpd.conf を書き換えます。

$ sudo vi /etc/apache2/httpd.conf
# ↓バージョン番号を手動で書き換える
# LoadModule php5_module /usr/local/Cellar/php54/5.4.10/libexec/apache2/libphp5.so

PEAR のパーミッション設定

前述した PEAR のパーミッションも忘れずに設定し直します。忘れるとハマります。

$ chmod -R ug+w /usr/local/Cellar/php54/5.4.10/lib/php
$ pear config-set php_ini /usr/local/etc/php/5.4/php.ini

PEAR で入れたパッケージの入れなおし

PEAR で入れたパッケージも入れなおしです。

$ pear config-set auto_discover 1
$ pear install pear.phpunit.de/PHPUnit

シンボリックリンクを再設定

PHP のシンボリックリンクを再設定して終了です。

$ brew unlink php54
$ brew link php54

PEAR のバージョンアップ

PHP のバージョンを上げる時は、PEAR の更新も確認しておきましょう。

PEARパッケージの更新を確認する

以下のコマンドでパッケージの更新を確認します。

$ pear list-upgrades
pear.php.net Available Upgrades (stable):
=========================================
Channel      Package        Local          Remote          Size
pear.php.net Archive_Tar    1.3.7 (stable) 1.3.11 (stable) 18.1kB
pear.php.net Console_Getopt 1.3.0 (stable) 1.3.1 (stable)  4.4kB

PEAR パッケージを更新する

パッケージを更新します。

$ pear upgrade Archive_Tar
$ pear upgrade Console_Getopt

このとき次のような警告が出るときには、チャネルを更新します。

WARNING: channel "pear.php.net" has updated its protocols, use "channel-update pear.php.net" to update
$ pear channel-update pear.php.net

終わりに

Homebrew で Mountain Lion に PHP5.4 をインストールする方法を紹介しました。次回は MySQL5.6 をインストールする方法を紹介します。

MySQL
HomebrewでMySQL 5.6をインストール。開発用my.cnfもさらす

この記事は Homebrew で MySQL5.6 をインストールしたときのメモです。 いつの間にか Homebrew ...

続きを見る

-技術ブログ
-,