• ベストアンサー
  • すぐに回答を!

Perlのパス

レンタルサーバーのCGIの説明で、「1.perl のパスは、/usr/bin/perl です。2.プログラムの先頭の記述は必ず、#!/usr/bin/perl となります。」って書いてあるんですけど、これを使用する場合、 http://www.kent-web.com/data/cart.html たぶん、admin.cgi , cart.cgi , order.cgi を エディタ で開いて以下の箇所をあたまの部分、#!/usr/bin/perl を変えればいいんですかね?それで1.の/usr/bin/perl は何処に書くのかな?それとも説明 の前置きですかね?「1.perl のパスは、」という意味はリンクがこうなるよ!って意味ですかね? ただま、KENT WEBみながら苦戦してます。 シロウトですいません。

  • legs
  • お礼率92% (1500/1622)

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数78
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.3
  • Dpop
  • ベストアンサー率51% (279/544)

補足説明です。 #! は、シェルに実行すべきプログラムを教えるための指示です。 #!/usr/bin/perl と書くと、これ移行に続く文章(スクリプト)は、/usr/bin と言う場所にある perl と言うプログラムに引き渡してくださいな。 と、シェルに依頼している。と言う意味があります。 サーバーによって、perl などのプログラムを格納しているパスが異なっている場合があるため、KENT WEB さんは、 #!/usr/bin/perl の部分を、そのサーバーにあわせて書き換えて下さいね。 と言うことを言わんとしているのです。 ちなみに、この指定を書き換える必要があるファイルは、直接実行されるスクリプトファイルのみです。それ以外のファイルは書き換える必要はありません。(書き換えても、悪さはしませんが。) CGI作者でも、シェルの事まで意識して説明して居られる方は少ないですね。致し方ないのかも知れません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。 内容がわかると、応用がききますよねぇ。 なぜ、そうなるとかとか、、。 こんなに詳しく書いてもらい感謝しております。

関連するQ&A

  • UTF-8で書いたperlのパスが正しく読まれない

    元々htmlファイルもcgiファイルもShift-JISで書いていました 英語環境に変えようと、UFT-8にすべくEncordingConverterでファイルを変換しました htmlファイルは文字コード指定も当然UFT-8にし、アップして表示させてみたところ問題なく表示されました しかし、cgiファイルの方が正しく表示されず、perlチェックをしてみたところパスが ・ソ#!/usr/bin/perl となっていました これが原因で正しく表示されなかったようです そこでcgiファイルをテキストエディタで開いてみたのですが、そのエディタ上では #!/usr/bin/perl と本来あるべき正しい表示になっています 文字コードもUTF-8形式になっています どうしれやればきちんと読み取ってもらえるのでしょうか? エディタで開いても「・ソ」の部分が表示されないのでなおしようがなく困っています どなたか解決方法お分かりの方ぜひご教授ください よろしくお願いします

    • ベストアンサー
    • CGI
  • perlパス

    Windows2000機でWebServerを建てたのですが、CGIが認識しません。 WEBサーバーのクライアントソフトはApacheで 普通にHTMLは見れています。 perlをインストールした場所は C:\usr\local で VerはActivePerl 5.8.8.822 for Windows (x86)です。 場所は↑なのでCGIファイルのperlのパスはそのままいじらず、 perlのパスは#!/usr/local/bin/perl です。 一応#!C:/~以下   もやりましたがだめで、 CGIのテキストが表示されています。 色々調べてやったのですがどうもうまくいかず 教えていただけませんか

  • CGIの使い方について教えてください

    CGIの使い方について教えてください。 自分が運営しているホームページに掲示板を作成したいので、以下のCGIを使うことにななりました。ですが、初心者のためうまく出来ません。詳しい方、教えてください。 http://www.kent-web.com/bbs/joyful.html? joyful.cgi を エディタ で開いて以下の箇所を修正します。 #!/usr/local/bin/perl  (プロバイダで定められたPerlへのパスを指定します) と説明されていますが、Perlの意味が解りません。これは一体なんでしょう? 設定のやり方等を詳しく教えてください。

その他の回答 (2)

  • 回答No.2
noname#25358

 最初から #!/usr/bin/perl になっているなら、何もする必要はありません。  フリーのCGIは、たまに #!/usr/local/bin/perl になっているので、その場合だけ書き換えます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございます! なるほど、localはいらないんですね! 同じだと思ったら違ってました。 やれやれってかんじです。 どうもでした。

  • 回答No.1
  • sisya
  • ベストアンサー率39% (97/245)

legsさんの推測で正解だと思います。 「このレンタルサーバのperlのパスは/usr/bin/perlだから、  プログラムの先頭には#!/usr/bin/perlと付けてください」 と言う意味です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

さっそくのお答えいただきありがとうございました。 やっぱりそうだったんですねぇ。 これで週末やってみます!!

関連するQ&A

  • CGIのパス /usr/bin/perl--

    こんにちは。CGIの最初のパス名をusr/bin/perl --と「ーー」をつけないと動かないCGIがあります。「ーー」はなんの意味なんなのでしょうか?

    • 締切済み
    • CGI
  • FC2にwebPatio設置の方法

    カテゴリはこちらでよかったでしょうか? 無料のホームページを置けるFC2に webPatio(スレッド式掲示板、http://www.kent-web.com/bbs/patio.html)を置こうとしています。 webPatioの説明にあるように patio.cgi, regist.cgi, read.cgi, admin.cgi, registkey.cgi を #!/usr/local/bin/perl(プロバイダで定められたPerlへのパスを指定します)ということで FC2なので #!/usr/bin/perlに変更しました。 FFFTPを使い,まずcgi-binフォルダを作成しその中にpatioフォルダを転送しました。 *-------------- i index.html cgi-bin>patio>patio.cgi等・・・・ *-------------- 次にパーミッションはFC2のcgiは全て755ということで、その値に設定(tapioの説明書と違う値) 「チェックモード」で動作チェックをしましたが(http://~~.web.fc2.com/cgi-bin/patio/patio.cgi?mode=check) 「アクセスする権限がありません」となります。 http://www.kent-web.com/support/old/64/0265.htmlを参考にやってみましたが、結果はおなじです。 どなたか、教えて頂ければありがたいです。

    • ベストアンサー
    • CGI
  • プロバイダで定められたPerlへのパス、って。。?

    お世話になっております<m(__)m> HP作成で、パスワード制限をかけてみたくて、 http://www.kent-web.com/pwd/login.html 上記のページを参考にしようとおもいました。 スクリプトを修正しなければ使えないみたいなのですが、 ******************************* 主なスクリプトの修正個所は以下のとおりです。  #!/usr/local/bin/perl  (プロバイダで定められたPerlへのパスを指定します)  $pass = '0123';  (認証用のパスワードを半角英数字で指定します) ***************************************** と、説明があるのですが、 まったくちんぷんかんぷんです。。(涙 HP作成するサーバーはヤフーなのですが、 プロバイダーでさだめられた。。 って。わたしの使っているプロバイダーはOCNですが。。 初心者の私にもわかりやすくおねがいいたします<m(__)m>

    • ベストアンサー
    • CGI
  • パス??

    BIGLOBEで自作HPをつくっています。CGIのサンプル集を買ってきて、とりあえず適当なモノをUPしてみました。 アクセス権の変更など一通りの事はBIGLOBEの規格に合わせたのですが、forbidden となります。 パス一覧にサンプルCGIの /usr/bin/perl ↑というのが無く /usr/local/bin/perl なら使えるそうなので強引に /local を外してUPしましたが、やはりうまく作動しません。 どうしたら良いのでしょうか? そもそもパスってなんなのでしょうか? ご教授の程、宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • アクセスカウンタ設置について

    http://www.kent-web.com/count/dream.html KENTWEBさんのカウンタを使いたいんですが設置方法に躓いています。本来kentwebさんにメールすればいい話なのでしょうがここで質問させてください。すみません。 {質問内容} 1)上記url記載の #!/usr/local/bin/perl (プロバイダで定められたPerlへのパスを指定します) この意味がわかりません。ドメインは自分で取得していますがプロバイダとはネットのプロバイダでしょうか?ocnなのですがocnで定められてるものなんでしょうか。 2)アップロードのやり方ですが「cgi-bin」というディレクトリにたとえばこのアクセスカウンタの場合だとecount.cgiとecount.datというのをアップするんでしょうか。 3)このアクセスカウンタの場合だと0.gifなどの画像はどのcgi-binのなかのimgにアップするんでしょうか。 すみませんかどなたかお願いします!

    • ベストアンサー
    • 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
  • DebianのApache(掲示板)CGIエラー 500エラー

    debianでkent-webさんのASKA BBSを使いたいんですが うまくいきません http://www.kent-web.com/bbs/aska.html aska BBS rootで/lib/usr/cgi-binに移動してvi test.cgi ------------------------------- #!/usr/bin/perl print "Content-type: text/html \n\n"; print "Hello"; -------------- を試して http://192.168.1.12/cgi-bin/test.cgi は動くんですが which perl /usr/bin/perlです パスはあっています 本題のBBSをデスクトップにDLし tar -xvzf 解凍をし rootで/usr/lib/cgi-bin/に aska.cgi askalog.dat jcode.plを置き パーミッションをhttp://www.kent-web.com/bbs/aska.htmlにあわせて わらかないのでsuEXECサーバ CGIWrapサーバ用のパーミッションと一般サーバを両方ためしてみたんですが http://192.168.1.12/cgi-bin/aska.cgi?mode=checkで試したんですが 500エラーがてしまいます ちなみにaska/aska.cgi?mode=check のaskaフォルダは作らず cgi-bin/aska.cgiです かわらなそうなので http.confの設定は <IfModule mod_alias.c> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ # # "/usr/lib/cgi-bin" could be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. # <Directory /usr/lib/cgi-bin/> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> </IfModule> AddHandler cgi-script .cgi .sh .pl ちゃんと#を外してあります それとほかの質問者の方を参考にしたんですが mod_aliasなんたら モジュールとかよくわからず apt-cache search module cgiなどといろいろ探したんですが無く これのperlのパスをわざと間違えさせてやっると500でエラーが出るってことはちゃんと動いてるはずだと思うんですが ちゃんともどすとhelloと表示されます 間違えーー>#!/hogehoge/hogehge/perl 元-->#!/usr/bin/perl #!/usr/bin/perl print "Content-type: text/html \n\n"; print "Hello"; それと疑いがあるのが aska.cgiのパスはちゃんと/usr/bin/local/perlを whichでみたperlのパス /usr/bin/perlに設定したんですが 動かないみたいです もしかしてgnome-text-editorなどviで開くと文字コードがかわったりしてだめなんでしょうか? もう思い当たる節がありません どなたか詳しい方教えてくださいお願いします

  • www5a.biglobe.ne.jpのPerl

    www5a.biglobe.ne.jpディレクトリのPerlを教えてください。biglobenの「主要コマンド・パス一覧」を見ても多すぎて何をえらべばよいかわかりません。これ!というのを教えてください。設定しようとしているCGIデフォルトは[#!usr/bin/perl]となっています。 それと、CGI呼び出しのパスの項目にACTION=というのは必要なのでしょうか?

    • ベストアンサー
    • Perl
  • 掲示板を作成しているのですが

    YY-BOARDを作成しているのですが・・・ 「yybbs.cgi, yyregi.cgi を エディタ で開いて以下の箇所を修正します。 #!/usr/local/bin/perl  (プロバイダで定められたPerlへのパスを指定します)」 という所の意味がわかりません。すみません初心者で・・・ご存じの方、どうか教えてください

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

    低レベルな質問で恐れ入ります。 Perlのパスがサーバーのサイトで …/usr/local/bin/perl となっているのですが #!…/usr/local/bin/perl でしょうか? #!/usr/local/bin/perl でしょうか?