2014年2月20日追記
PHP 5.5 のインストールも書きました。
-
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
目次
- Apache の起動と動作確認
- ホームディレクトリ直下の Sites ディレクトリに WEB コンテンツを配置する
- tap コマンドで PHP 用の Formula を追加
- PHP をインストールする
- Apache から PHP を利用できるようにする
- php.ini の初期設定を行う
- PEAR の初期設定を行う
- PHPUnit をインストールする
- extension をインストールする
- PHP のバージョンアップ
- 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(リポジトリ) を追加します。インストール方法は本家サイトのドキュメントに詳しく書かれています。迷ったら本家ドキュメントをご確認ください。
$ 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 をインストールする方法を紹介します。
-
HomebrewでMySQL 5.6をインストール。開発用my.cnfもさらす
この記事は Homebrew で MySQL5.6 をインストールしたときのメモです。 いつの間にか Homebrew ...
続きを見る