2016-11-27 11 views
0

こんにちは

私はLAMPPウェブサーバを持っています。私は "Hello.cgi"と呼ばれるCGIスクリプトを開こうとしました。LAMPP - CGIスクリプトが動作しない

それは含まれています

#!/usr/bin/perl 
print "Hello World.\n"; 

パスは次のとおりです。/opt/lampp/htdocs/dashboard/cgi-bin/hello.cgi

私は開く

:「127.0.0.1/dashboard/cgi -bin/hello.cgi "の場合、次のようになります。

サーバーエラー!

サーバーで内部エラーが発生し、要求を完了できませんでした。

エラーメッセージ:ヘッダの前にスクリプト出力の 終了:hello.cgi

あなたは、これはサーバーのエラーと思われる場合は、ウェブマスターに連絡してください。

CGIスクリプトはPerlで書かれています。

私の問題についてさらに詳しい情報が必要な場合は、それを言ってください。

~~ runasas

+0

基本的に間違っている可能性のある100種類のものがあります。サーバーログを確認しましたか?コマンドラインからスクリプトを実行しようとしましたか? HTTPヘッダーを送信していますか? –

+0

@MattJacobコマンドラインで実行したところ、うまくいきました。ありがとう! – runasas

+0

ええ、でも...それはスクリプト自体に何も問題がないことを確認するだけです。 –

答えて

0

はまず、あなたがラインuse strict;use warnings;含めずにPerlプログラムを書くべきではありません。

第2に、CGIプログラムに問題がある場合は、Webサーバーのエラーログで問題の詳細を確認する必要があります。

第3に、CGIプログラムからの出力には、コンテンツタイプヘッダが含まれている必要があります。だから、以下を追加したいと思う:

print "Content-Type: text/plain\015\012\015\012"; 

あなたがCGI moduleを使用する場合、これは容易になる:

use CGI; 
print header('text/plain'); 

しかし、実際に、2016年に、あなたはCGIプログラムを書くべきではない - がありますplenty of good alternativesが利用可能です。

関連する問題