0

Apache で Perl Dancer を使用してアプリのセットアップを始めたばかりです。提供されたダンサー スクリプトを使用して最初のディレクトリ構造をセットアップし、最初の "Perl is Dancing" ページが表示されるようにセットアップすることができました。残念ながら、ソースを表示すると、HTML マークアップの最後が含まれていないことに気付きました。Fiddler でさらに調査したところ、次のエラーが明らかになりました。

Content-Length の不一致: 応答ヘッダーは 3,168 バイトを示しましたが、サーバーは 3,364 バイトを送信しました。

これを確認した後、コマンド ラインから app.pl を呼び出して Dancer アプリを直接実行し、追加の実験を行いました。そのサーバーにアクセスすると、完全な HTML マークアップが取得され、コンテンツの長さの問題は Fiddler によって報告されません。

Apache を実行しているときに、この誤ったコンテンツの長さの問題が発生する理由を知っている人はいますか? また、Plack::Runner を介して app.pl を呼び出す、生成された CGI スクリプトを実行していることにも言及する必要があります。追加の詳細を提供する必要がある場合はお知らせください。

Dancer のバージョンは 1.3030、Plack のバージョンは 0.9976 です。

4

1 に答える 1

2

Plack に問題があったことが判明しました。改訂履歴には、バージョン 0.9977 の「CGI/FastCGI ハンドラーを修正して、Win32 プラットフォームで改行が破損しないようにする」と記載されています (Win32 で実行していることを以前に言及していませんでした)。Plack を最新バージョン (現在 0.9978) にアップデートしたところ、問題はなくなりました。

于 2011-05-09T02:39:35.813 に答える