エラーログからソースコードを追っていったら、
原因はjpeg画像の作成ができないことにあることがわかった。
実際gifだったらサムネイルができた。
で、php -iでPHPの状況をみてみたら、なぜかGDでjpegだけ有効化されていない。
PHPのconfigureオプションで「–with-gd」ってやるだけじゃjpegは有効されないらしい。
なぜ、jpegを有効化しない・・・。
で、対策は
# locate libjpeg
で、libjpegが入ってるか確認。
CentOS4.4なら「/usr/lib/」配下に入ってるはず。
んで、PHPのconfigureオプションに「–with-jpeg-dir=shared」を追加すればOK。
我が家のサーバの場合、
./configure --with-mysql=/usr/local/mysql --with-gd --with-zlib --with-jpeg-dir=shared --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-mbregex
となる。
で、makeして(修正インストールならmake cleanを忘れずに)インストールしたあとにphp -iを実行して
gd GD Support => enabled GD Version => bundled (2.0.28 compatible) GIF Read Support => enabled GIF Create Support => enabled JPG Support => enabled PNG Support => enabled WBMP Support => enabled XBM Support => enabled
って感じでJPGが有効になってればOK。
・参考サイト
・公式の画像関係の説明