- ベストアンサー
cgi から cgi を実行する。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
$test='/public_html/cgi/cookie/cooke.cgi'; open (test, "$test |"); print while <$test>; ・・で大丈夫なはずです。
関連するQ&A
- www.URL 付のcgi を動かす
URL付のcgi を動かすにはどうしたらいいのでしょう。 つまり2つの独立したサーバーがあり、お互いに 呼び出して実行したい場合、同一サーバーなら通常、 $test= 'home/public_html/cgi/test.cgi'; open (test); print while <test>; ちょっとまどろっこしいんですが、このように実行 できるかと思うんです。 しかし、別のサーバーにあるとこうはかけません。 したがって1行目を $test= 'http://test.com/cgi/test.cgi'; ・・・と書きたいところなのですが、どうもうまく 実行されないようです。 何かいい解決策があれば教えてください。
- ベストアンサー
- Perl
- 私の作ったCGIスクリプトを見てください。どこが間違えていますか
アクセスありがとうございます。 Red Hat Linux8.0でサーバを構築してCGIスクリプトを実行しようとしているのですが、どうもうまくいきません。 私が作成したCGIスクリプトは次のようなものです。 ファイル名「first.cgi」 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>First CGI</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "文字を表示するCGIです。\n"; print "</BODY>\n"; print "</HTML>\n"; そして文字コードを「EUC」、改行コードを「LF」に変換しサーバにアップロードしました。 その後SSHでサーバにログインし $ chmod 755 /home/burn/public_html/first.cgi と「first.cgi」に実行権限を追加し $ /home/burn/public_html/first.cgi と作成したCGIスクリプトをテストしてみたのですが : bad interpreter: No such file or directory とエラーメッセージが表示されてしまいます。 「そのようなファイルやディレクトリはありません」というような意味でしょうか。 しかし、そんなはずはないと思います。 $ ls /home/burn/public_html first.cgi と「ls」コマンドを実行すれば「first.cgi」が表示されるのですから。 他に何かする必要があるのですか。 このCGIスクリプトを動作させるにはどうすればいいのか教えてください。
- ベストアンサー
- その他(OS)
- Linux7.2のApacheのCGIについて
CGIを作成してアクセスしたところInternalServerErrorとなってしまいました エラーログを参照したところ Premature end of script headers; /home/tenchan/public_html/cgi-bin/test.cgi となっていました。 原因がわからず困っておりますもしおわかりの方いらっしゃいましたら教えてください。 アパッチの設定は以下の点を修正しました AddHandler cgi-script .cgiのコメントをはずしました <Directory "/home/*/public_html/cgi-bin"> Options ExecCGI </Directory> test.cgiの内容は #!/usr/bin/perl print "Contetnt-type: text/html\n\n"; print "<HTML><BODY>Hello</BODY></HTML>"; です コンソールで実行した際には「Hello」と表示されたので test.cgiには問題はないと思います また、Linux上で作成しましたので改行コードなどの問題はないと思うのですが 何か参考になるようなアドバイスありましたらよろしくお願いします。
- ベストアンサー
- その他(OS)
- xamppを使用してCGIが実行できなくて困っています。
こんにちは。自分で作ったホームページにアクセスカウンターや掲示板を設置したいと思っています。 そこで、xamppを使用し、CGI(アクセスカウンターや掲示板)を設置したいのですが、できません。設置の仕方、設置場所などお分かりの方、教えてください!! いろんなサイト(xamppのホームページも含め)を探してみて、「httpd.conf」の中を変えると書いてあったので、そのとおりに変えてみました。 (DocumentRootの下に <Directory "C:/www"> AllowOverride All Options All </Directory> を加えるといったもの)しかし、実行できず、サーバエラーが出ます。 設置場所:xampp/htdocs/test.cgi アクセス:http://localhost/test.cgi エラー内容:Premature end of script headers: test.cgi [test.cgi]↓↓ #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html><head>"; print "<title>TEST</title>; print "</head><body>\n; print "TEST<br>"; print "</body></html>\n"; [httpd.conf]の変更点 DocumentRoot "C:/xampp/htdocs"の下に <Directory "C:/xampp/htdocs"> AllowOverride All Options All </Directory> を追加。 分かりづらかったり、言葉が足りなかったらすみません。できなくて困ってます。。。どうかお願いします。
- 締切済み
- CGI
- CGIで外部コマンドを実行したときのエラーメッセージを取得したい
PerlCGIで外部コマンドを実行して実行結果を取得する場合、パイプを利用して、 open(IN, "date |"); while (<IN>) { print $_; } close(IN); などとして結果の取得はできたのですが、 間違ったコマンドを指定した場合には、 エラーメッセージが取得できません。 たとえば、 $data などという間違ったコマンドを入力したときに、 bash: data: command not found という内容をCGIで取得したいのですが、 open(IN, "data |"); while (<IN>) { print $_; } close(IN); のような記述では取得できませんでした。 このようなエラー内容を取得する方法はありませんでしょうか? どうかよろしくお願いします。
- ベストアンサー
- CGI
- 特定の cookie を指定して読むことは可能ですか
cookie は通常 cookie を書き込んだcgi でしか読み 書きできないのでしょうか? つまり cookie.cgi を実行中に print &setCookie("CHECK", 1); とかで書き込んだ cookie を、別のcgi (例:test.cgi) から参照すること、書き込むことは不可能でしょうか。
- 締切済み
- CGI
- CGIからCGIを、CGI環境変数付きで実行するには?
CGI(Perl)からCGI(Perl)を実行してその出力を得るには どうしたら良いでしょうか。 そのCGIがもっている環境変数(IPアドレスとか、POSTデータ)も 渡したいのですが・・・。 Openでパイプを使ってやればいいとまではわかり、 環境変数などを渡さないで純粋にCGIを実行させて その出力を受け取るところまでは出来ました。
- ベストアンサー
- Perl
- CGI内からSSIを実行したいのですが・・・
趣味でPerlによるCGIをやっています。 CGI出力結果と他のページとでヘッダーを共通化したいのですが、CGIファイル内にSSIの#include fileなどを挿入することはできるのでしょうか。 CGIファイルの中に print "<!--#include file="sample.html"-->\n";とするとそのままソースに書きこまれて出力されるだけで実行されないんですけど、、、なにかうまい方法はないでしょうか、お願いします。
- ベストアンサー
- その他(プログラミング・開発)
- HTML上(javascript)からCGIを実行する方法
javascriptから外部実行ファイル(javascriptファイルではなくperlなどのCGI) を実行する方法を探しています。 下記のようにindex.htmとtest.cgiファイルを用意して、index.htm内の javascriptから外部cgiを実行させ、cgiの結果(test.cgiでは単に 『test』と表示するのみ)を表示したいと考えています。 利用増ですが、cgiやssiが使用できないサーバにindex.htmを置いて、 cgiが使用できるサーバ上のcgi結果を取得したいものです。 通常のcgiのように、1ページでcgi結果を表示するものではなく、 HTMLファイルの一部にcgi処理結果を表示させたいものです。 そもそも、SSIを使用しなければ下記のようなHTML内にcgiなどの 実行結果を表示する事は出来ないのでしょうか。 よろしくお願い致します。 ※下例のプログラムではcgi結果は表示されませんでした・・・。 ---<index.htm>---------------------------------------- <HTML> <BODY> <SCRIPT language="Javascript" src="http://xxx.xxx.xxx.xxx/test.cgi"></SCRIPT> </BODY> </HTML> ---<test.cgi>---------------------------------------- #!/usr/bin/perl print "test"
- ベストアンサー
- JavaScript
- SSIの実行
アクセスカウンタ作成についての質問です。 あるプロバイダが提供している領域を使い、 public_htmlフォルダ直下に count.cgi、count.shtmlというファイルを置き、 count.shtmlからcount.cgiを呼び出して、 自前のアクセスカウンタを実行しようとしましたが、 アクセス数の部分が表示されず困っています。 ("カウント数は"の後が空白で何も表示されません。 エラー表示等はありません) チェック方法項目等ありましたらお教え頂けません でしょうか。 よろしくお願い致します。 ※public_htmlフォルダ及び、対象2ファイルには それぞれ755のパーミッションを設定しています。 以下、html文です。 ------------------------------ <html> <head><title>アクセスカウンタ</title></head> <body> カウント数は <!--#exec cgi="./count.cgi"--> </body> </html> 以下、CGIプログラムです。 ------------------------------ #! /usr/local/bin/perl $filename = "count.txt"; if (!open ( FP, "$filename")) { $no = 0; } else { $no = <FP>; close(FP); } $no++; print "$no" if (!open ( FP, ">$filename")) { print "ファイル $filename がオープンできませんでした ($!)\n"; } else { print FP $no; close(FP); }
- 締切済み
- CGI