OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

ソースコードがそのまま表示されてしまう

  • すぐに回答を!
  • 質問No.103652
  • 閲覧数215
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 10% (60/582)

turbolinuxのマシンにapache,mysql,perlを入れてデータベースを動かそうと思っています。

実際に動くかどうか動作確認をしてみました。
最初にindex.htmlを先頭に持っていかないとだめだという事なので最初にindex.htmlを置きその後ろにcgiファイルを置いてみました。

ブラウザー上から確認してみると
index.htmlは表示されました。
そこからcgiファイルにリンクしてある仕組みになっています。
リンクのボタンをクリックするとcgiファイルのソースがブラウザー上に出てきてしまい、肝心の処理結果が出てきません。
自分のソースが間違っているのではないかと思い、あれこれやってみましたができません。
apacheの設定がわるいのでしょうか?
どうか教えて頂ける方おりますでしょうか?
お願い致します。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル11

ベストアンサー率 21% (114/531)

apacheでのcgiパスの設定不良か、.htaccessの設定不良だと思います。一気にperlでやるのではなく、最初はシェルスクリプトのテストcgiを動作させてみることをおすすめします。問題の切り分けが難しくなりますから。
apacheでのcgiパスの設定不良か、.htaccessの設定不良だと思います。一気にperlでやるのではなく、最初はシェルスクリプトのテストcgiを動作させてみることをおすすめします。問題の切り分けが難しくなりますから。


  • 回答No.2
レベル13

ベストアンサー率 37% (419/1115)

過去の質問に似たものがありました。 同様の方法で解決できると思うので覗いてみてください。 ...続きを読む
過去の質問に似たものがありました。
同様の方法で解決できると思うので覗いてみてください。
補足コメント
aeic

お礼率 10% (60/582)

返答して頂きてありがとうございます。
いろいろな参考書等をよみあさりCGIを
起動させるためには"home/httpd/cgi-bin/***.cgi"
とおいてIEで観覧してみました。
ところが以下のようなerrorが出てしまいました。

参照@@@@
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, mail@it-service.co.jp and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
--------------------------------------------------

とりあえずこの文面に対していろいろな調査をした結果
下記の事が疑われるという事だったので直してみたのですができませんでした。
1プログラムの問題
問題ないと思ってる(かな?)
2文字コード、改行コードがUNIXの物と違う
FFFTPにてEUC-JP,LFモードにしてアップしました。
パーミッションを705に設定しました。

データベースを呼び出すプログラムです。
Mysqlを使ってます。
MysqlもDBIモジュールもインストール済みですし、テーブルも入っています。
但し、テーブルのフィールドだけでレコードデータが入っていない状態です。

下記にそのソースを示します。
どうかたすけていただけないでしょうか?


#!usr/bin/perl

use DBI;
my($dns) = "DBI:mysql:itser:192.168.0.29";
my($username) = "root";
my($password) = "654321";

my($dbh, $sth);
my(@ary);

$dbh = DBI -> connect ($dns ,$username ,$password)
or &Error("データベースへアクセスできません。");

$sth = $dbh->prepare("select * from itser");
$sth -> $execute() or &Error("MySOLコマンドは実行できません");

print "Content-Type: text/html\; charset=shift_jis\n\n";
print "<PRE>\n";
while (@ary = $sth -> fetchrow_array())
{
print join ("\t", @ary), \n;
}
print "</PRE>\n";

$sth = finish();

$dbh -> disconnect();
exit;

sub Error {
print "Content-type: text/html\; charset=shift_jis\n\n";
exit;
}
投稿日時 - 2001-07-13 14:42:00
  • 回答No.3
レベル13

ベストアンサー率 37% (419/1115)

naturalです。 補足読みました。(^_^) ソースの先頭行を次の様に変更してみてください。 #!/usr/bin/perl (usrの前にも/は入っていなければいけません) これで駄目なら今度は以下の様にしてみてください。 #!/usr/local/bin/perl 試してみてください。
naturalです。
補足読みました。(^_^)
ソースの先頭行を次の様に変更してみてください。

#!/usr/bin/perl

(usrの前にも/は入っていなければいけません)
これで駄目なら今度は以下の様にしてみてください。

#!/usr/local/bin/perl

試してみてください。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ