[PHP-users 3026] Re: CGIError
php-users@php.gr.jp
php-users@php.gr.jp
Mon, 22 Oct 2001 15:46:17 +0900
SUMiです。
> 早速質問なんですが、Windows2000ProfessionalでPHPを動かそうとしていま
> す。
>
> PHPスクリプトを書いて http://127.0.0.1/*** で読み込ませているのです
> が、ページを表示し、リロードを数回かけると以下のようなメッセージが出てう
> まくいきません。
>
> CGI Error
> The specified CGI application misbehaved by not returning a complete set
> of HTTP headers. The headers it did return are:
>
>
> また、フレームで複数ページに分けたページでは大本のフレームページは読み
> 込んでいるようですが(メニューの「表示」「ソース」から)フレームの各ペー
> ジが同じエラーとなって見ることができません。
>
手元のマシンにIISをインストールし、テストしてみたのですが
再現しません。
環境:
Win2k Pro SP2
PHP 4.0.5 (FoxServのWin版)
設定手順:
1.「コンポーネントの追加と削除」でIISをインストール
2.既定のWebサイト→プロパティ→ホームディレクトリ→構成
→追加
実行ファイル: C:\FoxServ\php\php.exe %s %s
拡張子: php
3.C:\Inetpub\wwwroot のファイルを全て削除
4.「既定のWebサイト」内の仮想ディレクトリ等を全て削除
5.C:\Inetpub\wwwroot に Default.htm を作成
<html>
<frameset cols="*,*,*,*,*,*,*,*,*,*">
<frame src="/index.php">
<frame src="/index.php">
<frame src="/index.php">
<frame src="/index.php">
<frame src="/index.php">
<frame src="/index.php">
<frame src="/index.php">
<frame src="/index.php">
<frame src="/index.php">
<frame src="/index.php">
</frameset>
</html>
6.C:\Inetpub\wwwroot に Default.htm を作成
<?
phpinfo();
sleep(10); // チェックしやすいようにあえてディレイする
?>
7.http://127.0.0.1/Default.htm を開く
すると、とうぜんsleepが入っているので、時間はかかりますが、
2枚ずつページが開いて行くのが分かります。
そして、最後のページまで全て正常に表示されますが、いかがでしょうか?
> いろいろ実験した結果、2つ以上のPHPスクリプトを同時に読み込むとこのよ
> うなことが起こるようです。
確実に2つ以上のPHPが起動していますが、大丈夫ですね。
というか、IEがHTTP1.1での接続は標準では2本以内に制限しているので、
2枚ずつしか開いてくれないですねぇ…ちなみに、タスクマネージャから
プロセスの一覧を監視していましたが、php.exeが2本走っており、ロードが
終わると消えてなくなっていますので、特に問題もなさそうです。
> IISの設定は本3冊と同じなので合っていると思います。
とのことですが、どのような設定をされたのでしょうか?