• 締切
  • すぐに回答を!

サーバ側プログラム言語について

  • 質問No.5495284
  • 閲覧数67
  • ありがとう数14
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 100% (2/2)

XHttpRequest()で実行されるサーバ側処理の言語は、参考書ではPHPで記載されているものが殆どです。
PHPのサンプルコードを見ると、単に(検索等は抜かして)echoで標準出力していいる為、
同じような事を例えば perlで記述しても出来ると思い、実際以下の様に簡単な
サンプルを実行してるのですが、思うように結果が出てきません

-----------------------------------------
#!/usr/local/bin/perl
use CGI;
$query = new CGI;
$project_id = $query->param('emp_no');

$|=1;

&main();

sub main {
print "AAA";
}
-----------------------
期待する結果はAAAの文字列です
しかしながら、実際にHTML側で得られる結果は、
#!/usr/local/bin/perl ・・ とソースそのものが出てきてしまいます。
(perlには実行権を与えています)

同じ事をperlではなく、/bin/sh で echo しても結果は同じでした。

PHPで書けばと言われそうですが、得意な言語で書ければと思っています
何か原因が判れば教えてください。

回答 (全2件)

  • 回答No.2

ベストアンサー率 51% (3827/7415)

>ソースそのものが出てきてしまいます。

というなら、Ajax以前にhttpサーバーがperlなどのCGIを実行しない設定になってるだけでは?
お礼コメント
yanawin

お礼率 100% (2/2)

情報ありがとうございます。
浅知恵の自分でしたのでサーバ側の設定を管理者の方に見ていただき、
無事解決しました。
下記を設定していただきました
AddHandler cgi-script .cgi .pl
投稿日時:2009/12/18 08:56
  • 回答No.1
えーと、こっちで動かしてみたら、動きましたよー。

#!/usr/bin/perl
use CGI;
$query = new CGI;
$project_id = $query->param('emp_no');

$|=1;

&main();

sub main {
print "Content-type: text/plain\n\n";
print "AAA!";
}

なんか無駄なコードがあるけど、とりあえずそのまま試してみましたよー。perlのパスはこっちの環境にあわせて変えてありますけどねー。

ところで、書いてあったソースコードだとContent-typeを出してないですがー、そーゆーサーバー設定なんでしょーか。これつけたらちゃんと出ましたけどー。もちろん、Ajaxからアクセスしても問題ないですよー。
お礼コメント
yanawin

お礼率 100% (2/2)

上の方にもお礼をご報告させていただいていますが、
無事動かす事ができました。
ありがとうございました。

>ところで、書いてあったソースコードだとContent-typeを出してないですがー

print "Content-Type: text/html; charset=\"utf-8\"\n\n";

はい、私の記述漏れでした。
投稿日時:2009/12/18 08:59
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ