引き続き、今度はGDをインストールしますが、MacPortsは利用しません。その代わり、X11 SDKがインストールされている必要があるので、インストールされていない場合は、Xcode Developer Toolsを再インストールしてください(カスタマイズ画面でX11 SDKにチェックを入れておく)。GDに必要なライブラリのfreetypeとlibpngは、このX11 SDKに納められているものを利用します。
もうひとつ必要なライブラリのlibjpegを、Mac Proの64-bit環境で動作するよう、MacPortsを使わずソースからコンパイルしてインストールします。まずは、ソースのjpegsrc.v6b.tar.gzをダウンロードします。ダブルクリックして解凍されたフォルダへ移動し、下記のようにコンパイルしてインストールします。
$ cd ~/Downloads/jpeg-6b
$ cp /usr/share/libtool/config.sub .
$ cp /usr/share/libtool/config.guess .
$ 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 --enable-shared
$ sudo mkdir -p /usr/local/include
$ sudo mkdir -p /usr/local/bin
$ sudo mkdir -p /usr/local/lib
$ sudo mkdir -p /usr/local/man/man1
$ make
$ make test
$ sudo make install
GD用のライブラリが準備できたので、Mac Proの64-bit環境で動作するよう、MacPortsを使わずソースからコンパイルしてGDをインストールします。Mac OS X 10.5.4 に標準でインストール済みのPHP 5.2.6と同じバージョンのPHPソースをダウンロードします(2008.9.11現在:php-5.2.6.tar.bz2 or php-5.2.6.tar.gz or php-5.2.6.zip)。ダブルクリックして解凍されたフォルダ内にあるgdフォルダへ移動し、下記のようにコンパイルしてインストールします。
$ cd ~/Downloads/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/X11R6 --with-xpm-dir=/usr/X11R6
$ make
$ make test
$ sudo make install
PDO MySQL DriverとGDを入れていると、コマンドライン版PHPがうまく動作しないため、Apacheのみでphp.iniを有効にする必要がある。Pseudo経由で起動したJedit Xで「/etc/apache2/other/php5.conf」ファイルに下記を追記する。
PHPIniDir "/etc/apache2"
php.ini.default をコピーして php.ini を作成する(デフォルトの/etc/php.iniには置かないのがポイント)。
$ sudo cp /etc/php.ini.default /etc/apache2/php.ini
インクルードパスをPEARの場所に、Extensionsディレクトリ、PDO MySQL DriverとGDを有効に、タイムゾーン、MySQL ソケットを設定するため、php.iniの最後にJedit Xで追記します。
include_path = ".:/usr/share/pear/PEAR"
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20060613"
extension=pdo_mysql.so
extension=gd.so
date.timezone = "Aisa/Tokyo"
mysql.default_socket = /opt/local/var/run/mysql5/mysqld.sock
Apacheを再起動します。
$ sudo /usr/sbin/apachectl restart
phpinfo()情報で、「gd」という項目が追加されてればOKです。
参考:OS X Leopard My Setting (PHP)
参考:PHP GD Extension for Intel Mac (64-bit)