ECcubeのモバイル画面で表示されない問題

お手軽なECcubeだけど、モバイルの画面にPCでアクセスした際はうまくモバイル画面が表示されるのに、携帯の実機やシミュレータでアクセスすると画面に何も表示されない。エラーログも吐き出されず、response 200で正常な感じ。実機ではこのページは表示できませんと出る。原因が分からず、Googleなどでもかなり調べたが見つからなかった。

とりあえず、HTTPヘッダのContent-TypeとかCharsetとかがUTF8になってるんじゃないかとか疑って、Wireshark(旧ethereal)でパケットキャプチャまでして調査。とりあえずContent-length:0がヘッダにセットされてるのでこれが原因なのかなと色々となやんでた。

ふと、携帯のTOPページ以外の画面を実機で見てみたら見れる!!違いはロゴ画像があるかないかぐらい。とりあえず下記のテンプレートを書き換えてロゴのIMGタグを除去
\data\Smarty\templates\default\mobile\top.tpl

見れる!!!見れるじゃないか。そうかロゴのファイルサイズが原因だったのか。だからPCで見れて携帯で見れなかったんだ。
ということで、結論としては、
PHPコンパイル時にGDオプションをいれてなかったので、モバイルでアクセスした際にロゴの画像がモバイル用にリサイズされなかったのが原因。
ということで、下記のようにphp-5.2.6をconfigureして無事に対応完了(--with-gd --with-jpeg-dir=shared --with-zlib-dir=sharedを追加)

./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs --with-libxml-dir=/usr/local/libxml2 --enable-mbstring --enable-zend-multibyte --with-mysql=/usr/local/mysql5 --with-gd --with-jpeg-dir=shared --with-zlib-dir=shared
	上記を実行する前に、
		yum install libjpeg-devel.i386
		yum install libpng-devel.i386
	をしておく

make
make test
make install

うーん、phpphpコンパイルとか、php.iniの設定とかではまる事が多い気がするなぁ。。