CGIの勉強をしているがシバンの設定で困っている

このQ&Aのポイント
  • cgiの勉強をしているが、シバンの設定で困っている。実行パス(絶対パス)は/virtual/アカウント名(もしくはID)/usr/local/bin/python3と書かれているが、ドメイン直下のディレクトリは動作している一方、ドメイン/pro/sample.pyは動作しない(500エラー)。
  • pythonで実行したcgiはprintの連続で構成されており、使い方に問題はないが、正しく動作しない。
回答を見る
  • ベストアンサー

CGI

cgiの勉強をしているのですがシバンの設定で困っています。 ①実行パス(絶対パス) /virtual/アカウント名(もしくはID)/usr/local/bin/python3 と書いてありました。 https://www.value-server.com/spec/ 実際ドメイン直下のディレクトリは動いています。 しかし ドメイン/pro/sample.py は動いてくれません。500エラーです。パーミッションは755にしています。 ②pythonで実行したcgiは print("<html>") print("<head>") print("<title>Hello world !</title>")… こんな感じでprintの嵐なのですが、 使い方はあっているのでしょうか?

  • CGI
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

https://techacademy.jp/magazine/21488 この言語は、使ったことがないのですが。 コンテンツタイプが指定されてないように見えます。 なので、何を送り出したいのかわかってない可能性はあり。 print("Content-Type: text/html") この部分と前後参照。 それで治るといいですね!

dhtfyjh
質問者

お礼

ありがとうございます。

関連するQ&A

  • Pythonを用いてCGIを作る勉強をしています。

    Pythonを用いてCGIを作る勉強をしています。 さて、CGIHTTPServerでCGIのテストをしようとしたところ、ぜんぜん動いてくれません。ちゃんとファイルのパーミッションも755にしました。 自分の力だけではどうにもならなかったため、ここで質問させてもらいます。 どうしたらよいのでしょうか。 僕がつくったPythonのソース test.pyは #! /usr/bin python print "Content-type: text/html\n" print "<html><body>Hello!</body></html>" です。 本来ならブラウザで「http://127.0.0.1:8000/cgi-bin/test.py」 とすれば動いてくれるはずなのに以下のようなエラーメッセージが出ます。 localhost - - [19/May/2010 23:46:43] "GET /cgi-bin/test3.py HTTP/1.1" 200 - Traceback (most recent call last): File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/CGIHTTPServer.py", line 255, in run_cgi OSError: [Errno 13] Permission denied localhost - - [19/May/2010 23:46:43] CGI script exit status 0x7f00 PCの環境はMacOSX10.6です。 だれか分かる方。教えていただけないでしょうか?? よろしくお願いします。

    • 締切済み
    • CGI
  • pythonのCGIでページを遷移したい

    PythonのCGIserverを使っています。 /cgi-bin/hoge.py から /cgi-bin/foo.py へとページを遷移させたいのですが、うまくいきません。 どうすればいいですか? 以下、hoge.pyのソースです。 #!/usr/local/bin/python # coding: utf-8 (中略) print "Location: /cgi-bin/foo.py\n\n" 他の方法として、 import foo として、fooの関数やメソッドを呼ぶことも考えたのですが、 これもうまくいきません。。

    • 締切済み
    • CGI
  • サクラのレンタルサーバーです。CGIが動きません

    サクラのレンタルサーバーを借りました。 早速CGIを試そうと思ったのですが、原因不明のInternal Server Errorが出ます。 cgi-binはいらないとのことですので、wwwにそのまま入れました。 index.htmlも同じ場所にありそれは出ますのでパス間違いではないです。 またパーミッションも777にしてみましたが駄目です。 #!/usr/local/bin/perl print "Content-Type: text/html\n"; print "\n"; print "<html>"; print "<body>"; print "abc"; print "</body>"; print "</html>"; こんな感じで、TELNETでログインして実行も出来ます。 bash-2.05b$ ./index.cgi Content-Type: text/html <html><body>abc</body></html>bash-2.05b$ いろいろ調べたのですが ◆パーミッション→OK ◆TELNETで実行してみる→OK ◆perlへのパスは?→/usr/local/bin と /usr/bin どちらでもいいそうです。験しに変えましたが状況変わらず。 何か気が付いたことがあれば教えてください

    • ベストアンサー
    • CGI
  • perlのcgiが動かない・・・

    cgiを組もうと思い、まずは簡単なもので試そうと思ったのですが、 うまくいかず困っています。 ↓プログラムは、こんな感じです。 ファイル名:index.cgi #!/usr/bin/perl print "<html>"; print "<body>"; print "abc"; print "</body>"; print "</html>"; <やってみたこと> ・Perlのパス「#!/usr/bin/perl」 が間違っていないか? which perl で /usr/bin/perl とでます。 ・Apache の設定が正しく行なわれているか? http://localhost でindex.htmlがきちんと表示できています。 ・「hello.cgi」 の設置場所を間違っていないか? プログラムソースが出るということは、 間違っていないのではないでしょうか? ・ためしに実行してみた TELNETで ./index.cgi <html><body>abc</body></html> とでてきました。 これはちゃんと動いているのでは?? 何か勘違いしていますか? お気づきの点を教えてください。よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • @PAGESのCGIについて

    @PAGESに登録してみて簡単なcgiをrubyで書いたのですがエラーになり通りません 本当なら@PAGESの掲示板に書くべきなのでしょうが凍結されていて書きこめませんでした わかる方助言をいただけるとありがたいです #!/usr/local/bin/ruby print "Content-type: text/html\n\n" print "Hello World" 拡張子はcgiにしてパーミッションは755です

    • ベストアンサー
    • CGI
  • 掲示板の設置について

    サーバーのCGI設置に関する記述 ■実行パス 絶対パス : /virtual/ID/ perl : /usr/bin/perl、/usr/local/bin/perl php3 : /usr/local/bin/php3 php4 : /usr/local/bin/php 、/usr/local/bin/php4 ruby : /usr/local/bin/ruby python : /usr/bin/python sendmail : /usr/sbin/sendmail nkf : /usr/local/bin/nkf sh : /bin/sh csh : /bin/csh uuencode : /usr/bin/uuencode uudecode : /usr/bin/uudecode ■実行パーミッション ・実行ファイル:0700(rwx------) ・データファイル:0600(rw-------) ・CGI格納ディレクトリ:0705(rwx---r-x) ・データ格納ディレクトリ:0700(rwx------) ・実行拡張子:[.cgi] PHOTOBBSの設置に関する記述 PhotoBBS Ver4.00(m) (2003/05/19) ディレクトリ構成&パーミッション /photobbs/ |------------/image/(777) | |------------/data/(777) | |--------- userdata(666)アスキーモードで転送 | |--------- admin(666)アスキーモードで転送 | |------- conf.pl(644)アスキーモードで転送 |------- custum.ph(644)アスキーモードで転送 |------- jcode.pl(644)アスキーモードで転送 |------- photobbs.cgi(755)アスキーモードで転送 |------- admin.cgi(755)アスキーモードで転送 1.最初に、photobbs.cgi と admin.cgi の一行目のPerl5へのパスと   conf.pl の 13行目sendmail へのパスを正しく設定してください。 上記のようにサーバー側とBBSの設置マニュアルを参考に FFFTPでアップしましたが、掲示板自体動くのですが、 ファイルのアップをすると、(ファイル形式が間違っているか、データのないファイルです)と表示されます テストしてみると、テキストだけだと、正常に投稿できるのですが・・・。どなたかお分かりの方は教えてください

    • 締切済み
    • CGI
  • cgi(perl)でパラメータが渡せない

    以下のプログラムでnum=9が伝わらないので、ミスをご指摘ください。 グラフィカルなアクセスカウンタを表示させようとしていますが うまくいかないのでテキストモードでデバッグしています。 [ /usr/local/apache2/htdocs/gif-view.html ] <html> <head> <meta http-equiv="Content-type:" content="text/html; charset=UTF-8"> <title>gif-view</title> </head> <body> <iframe src="/cgi-bin/gif-test.cgi?num=9"></iframe> <!-- <img src="/cgi-bin/gif-test.cgi?0" width=50 height=50> --> </body> </html> [ /usr/local/apache2/cgi-bin/gif-view.cgi ] permission は 755 にしています。 #!/usr/bin/perl print "Content-Type: text/plain;\n\n"; print "gif-test.cgi\n"; $prm0 = @ARGV[0]; if($prm0 = "") { print "Param is exist\n"; } else { print "Param is empty\n"; 実行結果として gif-test.cgi Param is empty となります。 httpd.conf で Script Alias /cgi-bin/ "/usr/local/apache2/cgi-bin/" を有効にしています。

    • ベストアンサー
    • Perl
  • pythonでprint実行でsyntaxer..

    print "hello"と入れて実行するとsyntaxerrorになってしまいます。 上に#!/usr/bin/env pythonと付けて実行しているのでが、ここがおかしいような? アドバイスいただけないでしょうか?

  • MAMPでpythonを実行させたい

    OSX10.8を使っています http://www.python.jp/Zope/download/pythoncore python-2.7.3-macosx10.6.dmg(32bit/64bit両用) これをインストールしました 以下の記述を test.pyとして保存し #!/usr/bin/env python print "Content-type: text/html\n" print "<html><body>Python is awesome !</body></html>" MAMPを起動しtest.pyを表示させると #!/usr/bin/env python print "Content-type: text/html\n" print "<html><body>Python is awesome !</body></html>" がそのままブラウザに表示されます application/mamp/conf/apache/httpd.confを開いて #AddHandler cgi-script .cgiのコメントを外し AddHandler cgi-script .cgi .py としapacheを再起動させtest.pyを表示させると インターナルサーバーエラーになりました 何をやり残しているのか、解決方法、または参考になるページを教えて下さい よろしくお願いします

  • CGIが動作しません。

    最近、Perlを初めたのですが、 CGIがうまく動作しません。 他のCGIは動作しているので CGIは動作する環境だと思います。 http://からフルパスでCGIを実行しても、 以下のエラーがでます。 -------------------------------------  500 InInternalServerError  サーバーエラーです。  以下の理由が考えられます。  パーミッション等の設定が  間違っている可能性があります。  サイト管理者にお問い合わせ下さい。 ------------------------------------- ちなみに以下のような簡単なCGIも同様です。 ===================================== #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<html><head>\n"; print "<meta http-equiv=Content-Type content=text/html; charset=x-sjis>\n"; print "<title>StartCGI</title></head>\n"; print "<body>\n"; print "<p align=center><font size=4>初めて書いたCGI</font></p>\n"; print "</body></html>\n"; exit; =====================================  なぜなんでしょう。 困ってます。 ご教授の程、宜しくお願い致します。

    • ベストアンサー
    • CGI

専門家に質問してみよう