Leopard の PHP に GD をインストール

GD を入れたらローカルの WordPress でサムネイルが生成できるということが判明したのでもうちょっとだけ頑張ってみることにしました(`・ω・´)ゞ
以下のページを参考にさせていただいたというか、私のやりたいことがそのまま書いてあった!

インストールの前に

Xcode と X11 がインストールされている必要があるそうです。
Xcode は plist ファイルを読みたくて先日インストールしてあるし、X11 は Leopard インストールしたときに一緒にインストールした気がする。

もし、/アプリケーション/ユーティリティ(/Applications/Utilities)に X11 というアプリケーションがなければ、以下の手順で X11 をインストールしてください。

TheMacPortsWiki/InstallingMacPorts – MacPortsWiki-JP

X11.app があったのでおっけー。

libjpeg のインストール

Mac OS X Ports から libjpeg (universal).dmg をダウンロードしてインストールしました。クリック数回であっという間。

GD のインストール

Apple – Darwin – Releases の Mac OS X 10.5.6 Source から、apache_mod_php-44.1 を開き、php-5.2.6.tar.bz2 をダウンロード。
Mac OS X 10.5 と PHP の GD – 風ブログ
上記記事の通りにインストールしました。

php.ini の編集

すでに php.ini は /etc にあるので、extension=gd.so を追加。
extension_dir で指定している場所にちゃんとありました。

そしてターミナルで php -m したら gd の文字がヽ(・ω・)ノ

phpinfo に表示されない

imagick のときと同じく、cli 版ではちゃんとインストールされているのに phpinfo には影も形もございません。

もし拡張モジュールの情報が phpinfo() に出てこなかった場合は、ログをチェックして何が起こったのかを調べなければなりません。
(中略)
DLL の場所がおかしい、php.ini の "extension_dir" がおかしい、コンパイル時の設定が違うなどが、よくある問題です。
コンパイル時の設定が違うことが原因だった場合は、おそらく間違った DLL をダウンロードしてしまったのでしょう。 もういちど、正しい設定の拡張モジュールをダウンロードしましょう。 正しい設定とは? 改めて言います。phpinfo() を参考にしましょう。

PHP: 拡張モジュールの探し方は? – Manual

ですって。
これはたぶん Windows 向けに書かれているのか DLL の場所となっていますが、今回の場合 gd.so の場所が合っているか見なさいよってことですね。
Apache のエラーログを見ると gd.so がねーよ!とご立腹でした。

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/imagick.so' - (null) in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/gd.so' - (null) in Unknown on line 0

でもこの場所に間違いなく imagick.so も gd.so もあるんです。どうしてこうなるの><
エラー文言でひたすらググっていたら、つい最近似たような状況になってしまった人を発見。
Cakephp1.2finalとrc3のパフォーマンス比較 on MacOS X – cakephperの日記(cakePHP1.2ベース)
解決策まではわかりませんでした。

いっそのことローカル環境を Leopard インストールした初期状態に戻してやり直したいです。
OS ごとインストールし直しじゃなくて Apache とか PHP とかそういうのだけ戻せないんだろうか。

その前に余ってる外付け HDD で練習と検証だな!

「Leopard の PHP に GD をインストール」への8件のフィードバック

  1. よく分からないけど、どうも Apache 経由だとロードできないファイル形式になってるっぽいですよ。
    ↓を参考に libjpeg の自前ビルドと GD のリビルドをしてみたらどうでしょう。
    configure の行が長々しいだけで、ビルド手順は変わらないです。

    http://log.metatype.jp/?p=40

  2. さすが魔人様><

    早速やってみました。
    make までやったら
    make: ./libtool: Command not found
    make: *** [jcapimin.lo] Error 127
    というエラーが出たので http://garage.dimage.co.jp/archives/article/1067.html を見て
    /usr/bin/libtool をコピー。

    もう一度 make をやったら
    make: *** [jcapimin.lo] Error 1
    というエラーが出てググってもヒットせず(´・ω・`)

    というわけで中断しました。

  3. おや (@@ )
    それは libjpeg のビルドですよね?
    config.sub と config.guess の入れ替えを忘れてませんか?
    やたらと長い configure コマンドを実行する前にやらないとだめですよ。
    もし忘れてたら、ソースの展開からやり直してくださいね。

  4. わかったー!

    >config.sub と config.guess の入れ替えを忘れてませんか?
    元々あったやつを jpeg-6b フォルダ内にコピーなんですね!逆やってたよ・・・。

    というわけで libjpeg のインストールが完了しました(`・ω・´)
    GD も記事の通りやって・・・phpinfo に gd の項目がきたーー!!!

    ローカルの WordPress で画像をアップロードしてみたら、無事サムネイルが生成されました!
    ふうこさんありがとう!諦めないでよかったヽ(・ω・)ノ

  5. ちなみに config.sub と config.guess は前回やったときに jpeg-6b フォルダ内のものを
    本体側に上書きしてしまっていたので、たいむまっしーんに復元してもらいました。
    たいむまっしーんは使わないかなーと思っていたけど、私みたいなおっちょこちょいには
    ありがたい機能ですね><

  6. ピンバック: デザイン日記

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です