本來想接著前幾篇相關討論繼續的,可是我後來想想我重開一個主題可能比較清楚
關於圖片顯示不了,error_log又沒有紀錄,直接讀取檔案卻又是OK的問題
我在美方討論區有看到一篇
Strange problem with images and Solaris裡面有提到直接送出http字串去抓問題
我有兩個url,分別是
下面這個沒法顯示
http://bulog.bubu.game-host.org/resserver.php?blogId=1&resource=1.jpg下面這個可以顯示
http://bulog.bubu.game-host.org/gallery/1/1-1.jpg於是我telnet bubu.game-host.org 80
分別對這兩個url送出
使用resserver.php
GET /resserver.php?blogId=1&resource=1.jpg HTTP/1.1
Host: bulog.bubu.game-host.org:80
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6 (ax)
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/gif,*/*;q=0.5
Accept-Language: zh-tw,en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: big5,ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
傳回資料是
0xEFBBBF , 再來才是JFIF(JPG 檔案的header tag) ....
如果直接連結
GET /gallery/1/1-1.jpg HTTP/1.1
Host: bulog.bubu.game-host.org:80
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6 (ax)
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/gif,*/*;q=0.5
Accept-Language: zh-tw,en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: big5,ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
直接傳回JFIF
也就是說,看不到圖是因為圖檔資料前面多出了0xEFBBBF。
嗯這可巧了,0xEFBBBF剛好是UTF8的BOM
我有試試看把httpd.conf & php.ini裡面有關於charset的部分都改過,可是結果還是一樣
這是我發現的問題,解決方式還不知道