phpThumbの画像が突然表示されなくなったら

投稿者: | 2014年2月10日

phpThumbはとても便利なライブラリなので、通常のウェブサイトの他、WordPressやMovable Typeと組み合わせて使っている人もいるだろう。
いままで問題無く表示されていたphpThumbを使ったサムネイルの画像が表示されなくなる原因のひとつがサーバーのPHPがバージョンアップ。
phpThumbはバージョンによってPHP5.3の環境ではエラーを返すようになる。
簡単な見分け方は簡単。
表示されない画像にALTが設定してあれば、画像の代わりにALTの文字が表示されているはず。右クリックで画像のみを表示させると、画像の代わりに下記のようなエラーコードが表示される。

Deprecated: Function eregi() is deprecated in /phpThumb_x.x.x/phpthumb.functions.php on line …

PHP 5.3では非推奨のeregi()が使われていることに対する警告

対応方法だが、選択肢は2種類。

1.  警告 メッセージのみ消す

スクリプト先頭の
error_reporting(E_ALL);
ini_set(‘display_errors’, ‘1’);
を変更。

簡単だが、これはおススメしない。
2の方法を施すまでの臨時対応にとどめたい。

2. phpThumb-for-PHP-5.3にする

以下のURLからphpThumb-for-PHP-5.3をダウンロードして置き換える

https://github.com/simpson/phpThumb-for-PHP-5.3

ページ右側にある「Download Zip」ボタンから一式をダウンロード