apach2.2 + php5 + mysql5でWEBサイトを運用しているのですが、
*IE6でサイトを見ると、画面が真っ白になる
*上記の現象が起こった場合Firefoxを入れるとうまくいく
*1万人に一人くらいが遭遇する
*普段同じ画面を見ている人の大半は問題ない
*apacheのログを見るとsegmantation faultが起きているが、不具合時に出ているわけではない
問題解決のきっかけになればいいので、ご意見をください。
304 - narucissus is Not Modified: PHP5でSegmentation fault発生
どうも、Apache と PHP5 の組み合わせで、Segmentation Fault が起きるケースはあるようですね。
Segmentation Fault が起きるトリガーは分かりませんが...。
究極的には、パケットキャプチャして、どんなやり取りが Segmentation Fault を起こしているのかを見つけて、デバッガを当てて、再現試験をする、というのが、原理的には出来ますが...
これはサーバの問題ではなくて、IEの文字コード判定時間が短いために、判断がつかずに
真白になるように思います。
ページ表示が真っ白になった時にソースを表示すると、全く問題の無いソースが表示されます
■1 【文字コード指定を上に】
IEでページが真っ白になる謎現象
http://webtech-walker.com/archive/2007/03/06143435.html
■2 【EUC_JPなら下記の対応が有効】
IE7 で画面が真っ白になるページの対処方法
http://www.drk7.jp/MT/archives/001163.html
大規模サイト(EUC_JP)は下記の様に対応しているが、楽天の位置に指定すると
CSSで問題が発生する事もあるので(教えて!goo)がお薦め
Yahoo! JAPAN
【楽天市場】
教えて!goo
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>
IEの真白対策がコメントなので表示されなかったので再度投稿します
下記サイトのソース<head>付近の<!--文字コード判別おまじない-->を確認してください。
Yahoo! JAPAN <!--京-->
楽天市場 <!--◇◇◇◇◇-->
http://www.rakuten.co.jp/index.html
教えて!goo <!--龠龠龠-->
既に、検索されているとは思いますが、こんな記事は参考になりますか?
http://dozo.rgr.jp/log/eid454.html
http://sonic64.com/2002-12-04.html
何にしても、segmentation fault を起こしている時のアクセスの状態やエラーメッセージ他から問題を引き起こすスクリプトを見つけるしかないのでは?
でも、
> *apacheのログを見るとsegmantation faultが起きているが、不具合時に出ているわけではない
であるなら、真っ白なページになるのと直接は関係ないような気がします。
真っ白なページへの対策として、おまじないを付けておく事を否定はしませんが、ページデータ本来の意味を持たないものを乗せたいとは思わないので、僕はやっていません。
殆どの場合、チャンとhttpヘッダを返しておけば問題無いです。
http://www.mozilla.gr.jp/standards/webtips/webtips0033.html
実際、うちのデフォルトがEUCなサイトで、UTF-8な書類をPHPから出力させてますが、ヘッダをキチンと返すようにしてからは文字化けはありません。
その書類(ローカルにもあるので)を直接開くと文字化けしたり、真っ白だったりしますが。
なるほど。ログにも出ないエラーの可能性もあるので、キャプチャする必要があるのかもしれません。
もう少し他のご意見も待ちます。