走り書きなので、内容について保証しません。

  1. XCodeをいれておく。(当たり前か

  2. libjpegをコンパイル

参考: Mac OS X 10.5 と libjpeg - 風ブログ

上記サイトの通りにやると、 /usr/local/libにlibjpegができます。

追記: Leopard の PHP に GD をインストール - p15.jp によると、http://ethan.tira-thompson.org/Mac_OS_X_Ports.htmlにコンパイル済みのパッケージが置いてあります。

  1. freetype2をコンパイル ※これやらないとTTFフォントで文字が書けないので。 imagettftextを使用すると落ちる。。

参考: Apple - Support - Discussions - Suggestions for installing the php GD …

curl -O http://savannah.nongnu.org/download/freetype/freetype-2.3.5.tar.gz

tar xzf freetype-2.3.5.tar.gz

cd freetype-2.3.5

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure --with-fsspec=no --with-fsref=no --with-quickdraw-toolbox=no --with-quickdraw-carbon=no

make

sudo make install

上記コメントの通りにやると、 /usr/local/libにfreetype2ができます。

  1. gdライブラリをコンパイル

参考: Mac OS X 10.5 と PHP の GD - 風ブログ

※configure時、上記サイトのオプションからfreetypeのパスだけ書き換え

--with-freetype-dir=/usr/local/lib
curl -O http://www.opensource.apple.com/source/apache_mod_php/apache_mod_php-44.1/php-5.2.6.tar.bz2

tar xjf php-5.2.6.tar.bz2

cd php-5.2.6/ext/gd

phpize

MACOSX_DEPLOYMENT_TARGET=10.5 \
 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" \
 CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" \
 CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" \
 LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" \
 ./configure --with-zlib-dir=/usr --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/X11R6 \
 --with-freetype-dir=/usr/local/lib --with-xpm-dir=/usr/X11R6

 make

 make test

 sudo make install
  1. apache用のphp.iniをつくる
sudo cp /etc/php.ini /etc/apache2/php.ini

参考: Mac OS X 10.5 と php.ini - 風ブログ

extention_dirとgd.soを読み出すよう書き換える。 ※/etc/php.iniを書き換えると、apacheから呼び出した場合認識しなかったり。。

extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613/"
extension=gd.so
  1. apache再起動

httpd.confに、

PHPIniDir "/etc/apache2"

と、書いて上記apache用php.iniを読み込ませる。

Webサーバを再起動。 ※パフォーマンスキャッシュのアレとかあるので、GUIのサーバ管理を使った方が良。

↓にあるサンプルプログラムなどを使って動作確認してみる。 Mac OS Xで動かす軽量プログラミング言語 − @IT

macports使ったが楽ですね。。