PHP+Homebrewの設定(memcached編)

僕はPHP本体はMacOSX付属のものを利用しています。これはHomebrewを使う場合は標準的な方針かと思います。

一方、一部のPHP extensionはHomebrewで提供されています。これをOS付属のPHPで利用するのがHomebrew流のようです。今回はPECL::memcachedを組み込んでみましょう。

$ brew install memcached-php
Also installing dependencies: libevent, memcached, libmemcached
==> Downloading http://monkey.org/~provos/libevent-2.0.12-stable.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/libevent/2.0.12
==> make install
/usr/local/Cellar/libevent/2.0.12: 47 files, 2.0M, built in 91 seconds
==> Downloading http://memcached.googlecode.com/files/memcached-1.4.6.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/memcached/1.4.6
==> make install
==> Caveats
You can enable memcached to automatically load on login with:
    mkdir -p ~/Library/LaunchAgents
    cp /usr/local/Cellar/memcached/1.4.6/com.danga.memcached.plist ~/Library/LaunchAgents/
    launchctl load -w ~/Library/LaunchAgents/com.danga.memcached.plist

    Or start it manually:
        /usr/local/bin/memcached

    Add "-d" to start it as a daemon.
==> Summary
/usr/local/Cellar/memcached/1.4.6: 8 files, 156K, built in 18 seconds
==> Downloading http://launchpad.net/libmemcached/1.0/0.50/+download/libmemcached-0.50.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/libmemcached/0.50
==> make install
/usr/local/Cellar/libmemcached/0.50: 185 files, 1.6M, built in 77 seconds
==> Downloading http://pecl.php.net/get/memcached-1.0.2.tgz
######################################################################## 100.0%
==> phpize
==> ./configure --prefix=/usr/local/Cellar/memcached-php/1.0.2
==> make
==> Caveats
To finish installing memcached:
  * Add the following line to php.ini:
    extension="/usr/local/Cellar/memcached-php/1.0.2/memcached.so"
  * Restart your webserver
==> Summary
/usr/local/Cellar/memcached-php/1.0.2: 60K, built in 14 seconds
$

無事ビルドできました。

memcachedの起動

上のメッセージの通りなんですが、まずmemcachedを起動します。

$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/memcached/1.4.6/com.danga.memcached.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/com.danga.memcached.plist

PECL::memcachedの設定

php.iniに1行追加します。

extension="/usr/local/Cellar/memcached-php/1.0.2/memcached.so"

設定の反映のため、Apacheを再起動します。

$ sudo launchctl stop org.apache.httpd