[PHP-users 28493] Re: header やreadfileを実行するとそのページが2〜3回実行される

nomoto shin-1 @ ca2.so-net.ne.jp
2006年 2月 20日 (月) 16:06:16 JST


  nomotoです。

>>> いろいろ試した結果、header関数やreadfile関数を一度でも実行すると
>>> 現象が発生します。
>>という現象と食い違っています。
>これはあくまで私の作成したソース内での結果です。
>すみません、説明不足で。。。

いいえ、大山様のソース内での結果というのは分かっています。

最初から「header関数とreadfile関数を使うと・・」と言われていますが
header関数とreadfile関数だけを使った最小ソースでは再現しないわけ
ですから、大山様のソースでもheader関数とreadfile関数以外を全て
コメントアウトしたら1回しか実行されないはずです。

私の言いたかったのは、そうなるとheader関数とreadfile関数が悪い
のではなく、それ以外の部分との兼ね合いではないでしょうかという
事です。
何かと何かを同時に使う事で複合的に発生した問題ではないでしょうか。

提示された中をみるとsession_start()がありますが、
これはセッションを開始すると同時にSet-Cookieヘッダを
吐き出していたと思います。
session_start()のあとにheaderもしくはreadfileを行うと
問題が出てるのではないのでしょうか。
session_startしなかった場合も2回実行されますか?

もしくは単純にsession_startしたあとheader関数だけ行ったら
どうなりますか?Window COMの部分もごっそり削って最小ソース
を作ってみてください。
何が原因か分かるのではないでしょうか。


PHP-users メーリングリストの案内