小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


Mac OS X LionにPHPのAPC(Alternative PHP Cache)をインストールする方法

はじめに

Mac OS X Lion上で動作しているPHP 5.6にAPC(Alternative PHP Cache)をインストールしてみました。このエントリを書くにあたり、以下のエントリを参考にさせていただきました。

OSとソフトウェアのバージョン
  • Mac OS X Lion 10.7.2
  • PHP 5.3.6
  • APC 3.1.6
APCのインストール

適当な作業ディレクトリを作成し、以下の作業を行って行きます。
1. APCをダウンロードします。*1

wget http://pecl.php.net/get/APC-3.1.6.tgz

2. ダウンロードしたファイルを展開します。

tar -zxvf APC-3.1.6.tgz

3. カレントディレクトリを掘り下げます。

cd APC-3.1.6

4. phpizeコマンドでモジュールをコンパイルします。

phpize
>Configuring for:
>PHP Api Version:         20090626
>Zend Module Api No:      20090626
>Zend Extension Api No:   220090626
>configure.in:3: warning: prefer named diversions
>configure.in:3: warning: prefer named diversions

5. 以下のコマンドを順に実行し、コンパイルおよびインストールを行います。make install実行後、インストールパスが表示されます。

./configure
sudo make
sudo make install
>Installing shared extensions:     /opt/local/lib/php/extensions/no-debug-non-zts-20090626/

これでAPCのインストールができました。

php.iniの編集

つづいて、PHPからAPCを使用する準備を行います。
1. /etc/php.iniの末尾に以下の内容を追記します。

extension_dir="/opt/local/lib/php/extensions/no-debug-non-zts-20090626"
extension=apc.so

/etcにphp.iniが見つからない場合は、デフォルトのphp.iniをコピーして作ります。

sudo cp /etc/php.ini.default /etc/php.ini

etc配下は管理者でないとアクセス権がないため、編集する場合はsudoコマンドを使って編集する必要があります。

sudo nano php.ini

2. php.iniの編集が終わったら、apacheを再起動します。

sudo apachectl restart
APCのインストールを確認する

/Library/WebServer/Documents配下に以下のファイルを作成し、phpinfo.phpという名前で保存します。

<?php
  phpinfo()
?>

ブラウザから以下のURLにアクセスします。

APCという文字列で検索して、以下のような情報が表示されていることを確認します。

apc.phpでキャッシュ状況を確認する

さきほど展開したAPC-3.1.6ディレクトリの配下にapc.phpというファイルがあります。このファイルを/Library/WebServer/Documents配下にコピーします。
ブラウザから以下のURLにアクセスします。これはAPCの管理ページで、キャッシュのヒット率などがグラフで確認することができます。


右上のログインから管理ページにログインすることができます。ただ、パスワードの変更を行っていない場合、以下のメッセージが表示されて、ログインできません。

ログインIDおよびパスワードを変更するには、apc.phpと同じディレクトリにapc.conf.phpというファイルを作成し、以下の内容を記述します。

<?php
  defaults("ADMIN_USERNAME", "ユーザーID");
  defaults("ADMIN_PASSWORD", "パスワード");
?>

*1:最新版は以下のサイトで確認することができます。PECL :: Package :: APC はてなブックマーク - PECL :: Package :: APC