電子書籍の厳選無料作品が豊富!

レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい。

レンタルサーバー会社からは、「cgi-bin」フォルダにcgiファイルを配置(アップロード)すれば
ブラウザで見れると説明を受けました。

用意したcgiファイルは以下の内容です。
_____________________________
#! c:/perl64/bin/perl

# CGIヘッダーの出力
print "Content-type: text/html\n\n";

#さいころを振る。
$n = int(rand 6) + 1;

#HTMLの出力
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0.1//EN\">\n";

print "<html>\n";
print "<head><title>Perlでさいころ</title></html>\n";
print "<body>";
print "<p>さいころの目は<big>$n</big>です。</p>\n";

#御言葉を出力
if($n == 4){
print "<p>ふ、不吉な・・・。4が出ました。</p>\n";
}

print "<body></html>";

__________________________________________

一行目が原因でしょうか。ローカルで作成した、cgiファイルをレンタルサーバーに配置(アップロード)し
ブラウザから見たいと考えております。

ご存知の方、教えて頂けないでしょうか。
宜しくお願いします。

A 回答 (1件)

何が起こっているのか補足して下さい。



ちなみに1行目はWindows系OSの書き方ですので、
レンタルサーバーで広く使われているUNIX系の書き方ではないので不自然です。
1行目の書き方はレンタルサーバー側から指示されているはずです。
パーミッションも指示があるはずですが、
755を禁止して705でないと500エラーを出す設定にしているサーバ業者もあります。

この回答への補足

こんばんわ、ご回答いただきまして、有難う御座います。

>何が起こっているのか補足して下さい。
現在、実行すると、「Internal Server Error」が表示されます。

>ちなみに1行目はWindows系OSの書き方ですので、
>レンタルサーバーで広く使われているUNIX系の書き方ではないので不自然です。
>1行目の書き方はレンタルサーバー側から指示されているはずです。
ドメインキングという業者をりようしております。
1行目の書き方は、問い合わせてみます。
ちなみに、通常unix系では、どのように書くのが(1行目)一般的なのでしょうか?

>パーミッションも指示があるはずですが、
>755を禁止して705でないと500エラーを出す設定にしているサーバ業者もあります
現在、ドメインキングという業者を利用しております。
業者のよくある質問に、以下の説明がありました。

_________________________
・CGIの種類によっては、cgi-binで動作しないものがございます。その場合は、/httpdocsディレクトリに下記の内容を記述した .htaccess ファイルをアップロードし、/httpdocsにCGIファイルを再度アップロードしてみてください。

.htaccessファイル記述例
--------------------------------------
Options +ExecCGI
AddHandler cgi-script .cgi

AddHandler cgi-script .pl
--------------------------------------
これは、「.htaccess」というファイルを作り、そのファイルに上記の内容を記述して、アップロードするように
という事ですよね?

あるフォルダに配置して、起動できたり、他のフォルダ出なければ起動できなかったり色々あるのですね。

一度、試してみたいと思います。

お忙しいところ、有難う御座いました。

補足日時:2010/09/09 19:30
    • good
    • 0
この回答へのお礼

こんばんわ。

問題、解決しました。
1行目と、パーミッションが違った事が原因でした。

・1行目→#!/usr/bin/perl

・FFFTPでサーバーに配置した、cgiファイルを右クリックして
属性変更で「755」に変更し、再度ブラウザから
アクセスしましたら、表示されました。

ヒントをいただきまして、有難う御座いました。
本当に助かりました。

お礼日時:2010/09/09 20:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!