MacOSX ServerのデフォルトPHPでGDを有効にする

標準

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

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

1. 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にコンパイル済みのパッケージが置いてあります。

2. 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ができます。

3. 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

4. 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

5. apache再起動

httpd.confに、

PHPIniDir "/etc/apache2"

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

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

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

macports使ったが楽ですね。。

コメントを残す

Page optimized by WP Minify WordPress Plugin