WebサイトからHTTP 500 Internal Serverエラーを取得する

500 Internal Server Errorは、Webサーバー上の不明なエラーを示すHTTPステータスコードです。 Webサイトを表示しようとして500内部サーバーエラーを受け取った場合、問題はあなたのコンピュータ、ハンドヘルドデバイス、またはWebブラウザにありません。 エラーは、Webサイトをホストしているサーバーにのみ存在します。

500エラーユーザートラブルシューティング

問題は直接制御も修正もできないものですが、コンピュータから問題を解決するために試みることができるものがいくつかあります。

  1. Webページをリロードして(キーボードのCtrl + R押すか、Webブラウザのリロードアイコン↻をクリックして)エラーが再発するかどうかを確認します。
  2. しばらくしてからWebページに戻ってみてください。 サイトのウェブマスターやウェブ開発者が問題に取り組んでいる可能性があります。
  3. ウェブマスターに電子メールで連絡してください。 多くのWebページには、会社に連絡するためのリンク(サポートEメール)またはページをホストしているサーバーがあります。

500エラーウェブマスターのトラブルシューティング

このエラーを生成するスクリプトまたはページに責任がある場合は、次の手順を実行するとエラーの原因を特定して解決することができます。

スクリプトが実行可能ファイルとして設定されていません

サーバーにアップロードされたすべてのスクリプトは実行権限を持っている必要があります(例えば、chmod 755または-rwxr-xr-x)。 FileZillaなどのグラフィカルFTPプログラムを介してファイルをアップロードしている場合は、 サーバー上のファイルを右クリックし、[ ファイルのアクセス許可 ]をクリックしてアクセス許可を確認します。

ファイルはASCII(テキスト)としてアップロードされていません

PerlまたはPHPスクリプトファイルをアップロードするときは、ファイルがバイナリモードではなくASCII(テキスト)モードでアップロードされていることを確認してください。 プログラムがファイルをアップロードしていてモードが自動的に設定されている場合は、手動に切り替えて、ASCII(テキスト)モードであることを確認してください。

PerlスクリプトにはshebangもContent-Typeもありません

Perlスクリプト(.plまたは.cgiで終わるファイル)をアップロードする場合は、印刷コマンドの前に最初の行にshebangを、 Content-Typeの行を追加する必要があります。 以下は、すべてのPerlスクリプトファイルの先頭に置くことをお勧めします。 スクリプトにfatalstobrowserという行を追加すると、ブラウザウィンドウにエラーが表示されます。エラーがある場合はスクリプトのデバッグに役立ちます。

 #!/ usr / bin / perlはstrictを使用します。 CGI :: Carp qw(fatalsToBrowser carpout)を使用してください。 "Content-Type:text / html"、 "\ n \ n"を印刷してください。 

正しいディレクトリにアップロードされていません

スクリプトファイルが実行可能な権限を持つディレクトリにアップロードされていることを確認してください。 Perlファイルの場合は、すべてのPerlファイルをpublic_html / cgi-bin /ディレクトリにアップロードすることをお勧めします。

ファイルがLinux用にフォーマットされていることを確認してください。

ワードパッドやメモ帳などのWindowsエディタでスクリプトファイルを作成または編集した場合、これらのエディタは各行を別の文字で終わらせることができます。 スクリプトをアップロードしているコンピューター上のシェルアカウントにアクセスできる場合は、dos2unixコマンドを実行してそのファイルを無効な文字を含まないファイルに変換します。

修正したスクリプトをテストする

最後に、上記の提案がすべて助けにならず、問題が続く場合は、スクリプトにエラーがないことを確認してください。 Perlスクリプトを実行しているユーザーの場合は、次のコマンドを実行します。 あなたがシェルアカウントやPerlを持つコンピュータにアクセスできない場合は、あなたのコンピュータにPerlをインストールすることをお勧めします。

 perl -wc scriptname.pl