さて、これで PHP で GD ライブラリを使っていく準備は整った。あとは、PHP をコンパイルからインストールしなおせばいいんだ!ということになるのだが、ちょっとお待ちを。実は Apple がそういった向きのために、ちゃんと準備をしてくれているのである。Apple-Darwin-Releases を見ていただきたい。
現時点での最新バージョンは 10.5.5 であるが、Source と青文字で書かれている部分をクリックしてみよう。上の図のように、そのなかの apache_mod_php-44.1 が、Mac OS X server 10.5.5 Leopard および、Mac OS X 10.5.5 Leopard で使われている Apple 仕様の、いわば純正の PHP である。現時点では、php-5.2.6 が使われていることがおわかりになるだろう。
まず、このページから、php-5.2.6.tar.bz2 をダウンロードしていこう。これをもとにして、インストールしていくわけだが、全部をコンパイルしなおしてインストールするのではなく、GD の部分だけをインストールするだけでよい。さすが純正、うれしい。Mac OS X server 10.5 をお使いの方は本当に助かるはずだ。もともとの本体をいじくる必要がないのだから。
さて、やってみよう。例によってデスクトップに解凍したものとして、まず、ターミナルから
cd Desktop/php-5.2.6/ext/gd
としてから、
phpize
と、入力してみると、
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
と、表示されるはずである。
次は、32bit ( PowerPC G4 および intel core solo ) の場合には、
./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
と、一行で入力、64bit ( PowerPC G5 および その他 intel Mac ) の場合には、長いけれど、これまた一行に続けて、
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
と入力して、リターンを押すと、コンパイルがはじまる。(下の図参照、筆者のコンピュータ名は、STEALTH、ユーザー名は、FOXBAT である)
ここでエラーになる場合は、100%、libjpeg のインストールが誤っている。なぜなら、他はすべてアップル純正環境だからである。 以前の記事の教訓、『エラーがでずに "configure"&"make"&"sudo make install" できたからといって、必ずしも正しくインストールされているとは限らない』。エラーが出たら、libjpeg のインストールをやり直す必要がある。
さて、エラーが出ずにコンパイルが完了したら、
make
すると、
Build complete. Don't forget to run 'make test'.
と表示されるはずである。'make test'を忘れんなよ、と書いてあるから、
make test
と入力、ダーッと画面が流れてエラーがなければ、
sudo make install
ということになる。
これで、アップル純正の PHP に、GD ライブラリをくっつけることができた!
ただし、ここで喜び勇んで phpinfo を表示させてみても、な〜んにも変わっていないのでがっかりすること、うけあいである。

コメントする