Lion で PHP 周りをゴニョゴニョしたのでメモ
PEAR
入ってなかったのでいれる。
cd /tmp && mkdir pear && cd pear
curl http://pear.php.net/go-pear.phar > go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar
適当に設定。
1. Installation base ($prefix) : /usr/lib/php 2. Temporary directory for processing : /tmp/pear/install 3. Temporary directory for downloads : /tmp/pear/install 4. Binaries directory : /usr/bin 5. PHP code directory ($php_dir) : /usr/lib/php 6. Documentation directory : /usr/lib/php/docs 7. Data directory : /usr/lib/php/data 8. User-modifiable configuration files directory : /usr/lib/php/cfg 9. Public Web Files directory : /usr/lib/php/htdocs 10. Tests directory : /usr/lib/php/tests 11. Name of configuration file : /Users/KT/.pearrc
memcache
とりあえず Homebrew で memcached いれる。
PHP extension として。
pecl install memcache
入れ終わってから気付いたんだけど、
brew install memcached-php とかでもよかったなぁ…と。
まぁいいや。
php.ini に下記追記
extension=memcache.so
APC
なんか Homebrew の APC だとダメらしい。
cd /tmp
wget http://pecl.php.net/get/APC-3.1.9.tgz
tar -xzvf APC-3.1.9.tgz
cd APC-3.1.9
phpize
./configure
sudo make
sudo make install
php.ini に下記追記
[APC] extension=apc.so apc.enabled=1 apc.shm_segments=1 apc.shm_size=64M apc.ttl=7200 apc.user_ttl=7200 apc.num_files_hint=1024 apc.mmap_file_mask=/tmp/apc.XXXXXX apc.enable_cli=1
mcrypt
結構面倒!
とりあえず Homebrew で mcrypt いれるんだけど、その前に
/usr/local/Library/Formula/mcrypt.rb
を下記みたいにちょっと改造。
def install system "MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --disable-dependency-tracking --prefix=#{prefix} --mandir=#{man}" system "make -j6" system "make install" end
んでから、下記を実行。
んで、PHP extension を作らないといけないので…
とりあえず PHP のソースをとってくる。
面倒なので Desktop にダウンロードして解凍してから下記を実行。
cd ~/Desktop/php-5.3.6/ext/mcrypt
phpize
MACOSX_DEPLOYMENT_TARGET=10.7 CFLAGS='-O3 -fno-common -arch i386 -arch x86_64' LDFLAGS='-O3 -arch i386 -arch x86_64' CXXFLAGS='-O3 -fno-common -arch i386 -arch x86_64' ./configure --with-php-config=/Developer/SDKs/MacOSX10.7.sdk/usr/bin/php-config
make -j6
sudo make install
php.iniを編集
enable_dl = On extension=mcrypt.so
なんで今更こんな事してるの?
Yii Framework とやらで遊ぼうと思って、
Yii requirement Checker 動かしてみたら、 Memcache・APC・Mcrypt んとこが 注意 になってて
「全部合格になんかしてあげないんだからね!」 とか思ってた結果がこれだよ。
何が言いたいのかっていうと、PHPまじオワコン。