Lion で PHP 周りをゴニョゴニョしたのでメモ

  • MacOSX 10.7.2 Lion
  • 最初から入ってるPHP(v5.3.6)を利用

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

とりあえず Homebrewmemcached いれる。

brew install 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

んでから、下記を実行。

brew install mcrypt

んで、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・APCMcrypt んとこが 注意 になってて
「全部合格になんかしてあげないんだからね!」 とか思ってた結果がこれだよ。

何が言いたいのかっていうと、PHPまじオワコン