
turbolinuxのマシンにapache,mysql,perlを入れてデータベースを動かそうと思っています。
実際に動くかどうか動作確認をしてみました。
最初にindex.htmlを先頭に持っていかないとだめだという事なので最初にindex.htmlを置きその後ろにcgiファイルを置いてみました。
ブラウザー上から確認してみると
index.htmlは表示されました。
そこからcgiファイルにリンクしてある仕組みになっています。
リンクのボタンをクリックするとcgiファイルのソースがブラウザー上に出てきてしまい、肝心の処理結果が出てきません。
自分のソースが間違っているのではないかと思い、あれこれやってみましたができません。
apacheの設定がわるいのでしょうか?
どうか教えて頂ける方おりますでしょうか?
お願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
naturalです。
補足読みました。(^_^)
ソースの先頭行を次の様に変更してみてください。
#!/usr/bin/perl
(usrの前にも/は入っていなければいけません)
これで駄目なら今度は以下の様にしてみてください。
#!/usr/local/bin/perl
試してみてください。
No.2
- 回答日時:
この回答への補足
返答して頂きてありがとうございます。
いろいろな参考書等をよみあさり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;
}
No.1
- 回答日時:
apacheでのcgiパスの設定不良か、.htaccessの設定不良だと思います。
一気にperlでやるのではなく、最初はシェルスクリプトのテストcgiを動作させてみることをおすすめします。問題の切り分けが難しくなりますから。お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
携帯用のページに perl で post
-
mt-check.cgiでForbiddenエラー...
-
perlのrequireの動き方について...
-
CGIの中にinclude
-
週2回のペースって だいたい何...
-
月の第一週とは
-
SFTP自動化
-
エクセルで相対パスの書き方を...
-
ヘッダのinclude順
-
日本語問題 昨日は何曜日ですか...
-
曜日派?日付派??
-
関数ヘッダ?
-
Consolidateメソッドの引数のSo...
-
アンケートなどの1日1回の投...
-
URLConnection Timeoutエラー
-
Wininetを使ったDigest認証
-
リストコントロールの列幅を固...
-
apacheでPerl CGIが作動せず、5...
-
HTTPヘッダの大きさ
-
fc2無料HPのディレクトリアクセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jcode.plが読み込めない
-
cgiとplとpm
-
CGIの中にinclude
-
webからroot権限のコマンドを実...
-
ファイル書込時にPermission de...
-
Quantifier follows nothing in...
-
perlのrequireの動き方について...
-
a.cgi → b.cgiへデータの受渡...
-
mt-check.cgiでForbiddenエラー...
-
Perlから他のcgiへPOSTでデータ...
-
Perlccを使ったCGIプログラムの...
-
Location: で cgi → c...
-
“パーミッションを変えて、実行...
-
pushボタンを押した後、画面を...
-
cgi-lib.plの&ReadParse();の()...
-
require文が実行できない
-
apacheのCGI設定について教えて...
-
error_logファイルの中身で教え...
-
エラー出力をなくしたい
-
cgiから別のcgiをコールする方...
おすすめ情報