0

実行したアクションに応じてデータをロードするベーステンプレートを作成しようとしています。いくつかのページを含めましたが(必須)、問題はありませんでしたが、別のファイルを含めると、500の内部エラーが発生しました。コードをまっすぐに貼り付けると、正常に機能します。

これが私が持っているものです。

#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
require LWP::UserAgent;
use DBI;


    #deal with post requests
    require "perl/post-sort.pl";
    #loading stylesheets and javascripts
    require "header.pl";
    # bring in loggin js
    if( $arg{REQUEST_KEY} eq "") {
        require "javascript/js-main-login.pl";
    }
    print "</head> \n";
    print " \n";
    ...
    ...

perl / post-sort.pl

my %arg = ();
for (split /\&/, <STDIN>) {
   my ($key, $val) = split /=/;
   $val =~ s/\+/ /g;
   $val =~ s/%([0-9a-fA-F]{2})/chr(hex($1))/ge;
   $arg{$key} = $val;
}

どんな助けでも大歓迎です。

4

1 に答える 1

4

500の内部サーバーエラーは、多くの場合、ヘッダーが不良または欠落していることを示します。含まれているコードで、(ブラウザーに)最初に印刷されるのがヘッダーであることを確認するか、何も印刷されず、元のコードが正しいヘッダーを印刷することを確認してください。

もう1つの可能性は、作成中のファイルがrequire「最後のステートメントとしてtrueを返さない」(つまり、で終わらない1;)ことです。これにより、スクリプトがコンパイル時に失敗し、500エラーが発生します。

また、今日の初めのCGIスクリプトのデバッグに関するこの適切な説明も参照してください。

于 2010-01-29T23:27:14.390 に答える