大ハマリ
2008/11/3 [00:59:08] (月) 

雑記帖がHTTPのヘッダーをちゃんと返さないことに気づく。いまさら。
text/html
の前にCookieをセットしようとすると確実に妙なヘッダーを返したり返さなかったり。print文を一行いれただけで、あきらかに直前のHTMLのキャッシュ(が壊れたようなもの)を吐き出して
malformed header from script. Bad header
と叱られたり
did not send an HTTP header
と、ヘッダーを返しなさいと警告されたり
クッキーが悪いのか、と思って調べてみてもおかしなところはない。
Ajaxでやってるところが悪いのか、と思ってみて調べてみても異常はなさそう。
print文ひとつでおかしくなってるのだ。
出力がおかしいのかとutf8を疑っていじってたらコメントデータを吹っ飛ばしてしまった。
>HeliosRedsさん。すみませんでした。
現象としては、なんだか妙なキャッシュくさいのが出力されている。
エラーメッセージあたりで検索しまくり。
$|
という出力をフラッシュする変数を「真」にして、表示を少しでも速く始めてもらおう、というのが動的ページの定番なんだけど、こいつが原因だった。ヘッダを出力する前にいじっちゃいけなかった、らしい。ヘッダ出力の後
$|=1
とやってフラッシュさせればOKだった。どうりで今までクッキーがまともに機能してなかったワケだわ。ううう。
どうやらこれはmod_perlのModPerl::Registry環境で起こるらしい…って、もろウチそうだし。こんなので4時間もハマったのは、ワインのせいか。

