ホームページ  >  記事  >  バックエンド開発  >  指定された CGI アプリケーションが a_PHP 教程を返さないという不正な動作をしました。

指定された CGI アプリケーションが a_PHP 教程を返さないという不正な動作をしました。

WBOY
WBOYオリジナル
2016-07-21 15:31:30857ブラウズ

はエラー レポートです:
指定された CGI アプリケーションは、HTTP ヘッダーの完全なセットを返さないことで誤動作しました
意味: (http プロトコルの CGI モードが正しく実行されていません)

なぜなら、-wT パラメーターは、 Perl スクリプトの最初の文で、すべての -wT を -w に置き換えます
つまり、 #!/usr/bin/perl –wT を #!/usr/bin/perl –w に置き換えます
これは、php が CGI でテストされることを意味します実行中に、php.ini で gi.force_redirect を見つけ、先頭のセミコロンを削除して値を 0 に変更します。

もう一度実行してください。これは PHP 実行モードの別の構成方法です

今日発生した PHP エラー

CGI エラー
指定された CGI アプリケーションは、HTTP ヘッダーの完全なセットを返さなかったため、誤動作しました

最終的な解決策。 PHPのCGIモードをisapiモードに変更することです。

環境: Windows XP SP3+IIS5.1+ActivePerl 5.10.0
BugZilla をインストールした後、CGI を設定すると、実行後のエラーは次のとおりです:

CGI エラー
指定された CGI アプリケーションは完全なセットを返さないことで誤動作しました返されたヘッダーは次のとおりです:

"-T" は #! 行にあり、E:bugzilla-3.4.2bugzilla-3.4.2index.cgi 行 1 でも使用する必要があります。

エラーレポート:
指定された CGI アプリケーションは、HTTP ヘッダーの完全なセットを返さないことで誤動作しました
意味: (http プロトコルの CGI モードが正しく実行されていません)

最初の文で -wT パラメーターがサポートされていないためPerl スクリプトのすべて -wT を -w に置き換えるだけです
つまり、#!/usr/bin/perl –wT を #!/usr/bin/perl –w に置き換えます
これは、php が CGI モードで実行されることを意味しますphp .ini で gi.force_redirect を見つけ、先頭のセミコロンを削除して値を 0 に変更します。

追記: 別の解決策
IIS 設定を変更し、ホーム ディレクトリ タブ -> アプリケーション設定 -> CGI を選択し、アプリケーション拡張子マッピング名を追加/編集します。CGI 実行可能ファイル名を次のように記述します。
D:Perlbinperl .exe -x -wT “%s” %s
(注: 私の Perl は D:Perl ディレクトリにインストールされています)
この場合、BUGZilla ファイルを変更する必要はありません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/322989.html技術記事これはエラー レポートです: 指定された CGI アプリケーションは、HTTP ヘッダーの完全なセットを返さないことで不正に動作しました。これは、perl スクリプトが原因で (http プロトコルの CGI モードが正しく実行されません) を意味します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。