• ベストアンサー

perlでCGIを試みたのですが・・・

Mac OSXでperl、cgiを作りたいと思ったのですが、どうも動きません。サンプルと全く同じ文字コード、改行コードのしています・・・エディタはmiを使っているのですが、それがいけないのでしょうか?もしmiでperlやcgiを作っている方、どのような設定をすれば良いか教えていただけないでしょうか? また、miで作成したデータをテキストエディタで開こうとすると、このテキストエンコーディングは開けませんというエラーがでます。 わかる方お願いします。

noname#102413
noname#102413
  • Perl
  • 回答数3
  • ありがとう数4

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

  • ベストアンサー
  • fire--
  • ベストアンサー率49% (146/293)
回答No.3

このメッセージは「あなたはcgiのファイルにアクセスする権利がない」 という事ですね。 このメッセージから考えられる原因は、ftpでサーバに あげたのだと思いますが、そのtest.cgiというファイルの パーミッションが正しくないという事です。 rw-r--r--とかいうような属性がftpソフトで見れると 思いますが、test.cgiのファイルと、そのディレクトリーは それぞれどうなっているでしょう。 cgi-binもtest.cgiも rwxr-xr-x になってますか。 なっていなかったら ftp ソフトで変更してみてください。 参考URLはパーミッションの説明です。

参考URL:
http://www.kent-web.com/pubc/axsken/

その他の回答 (2)

  • fire--
  • ベストアンサー率49% (146/293)
回答No.2

わたしもmacは使ってないのですが、 動かないという時にエラーメッセージは出ないのでしょうか。 原因がmacにあるか/ないかに関らず、もう少し情報が あるほうが解決が早いと思いますよ。 あと、内容次第ですが、cgiを作る場合に、いきなりcgiと して動かすのでなく、コマンド画面から動かしてみるほうが 環境がシンプルなので問題がわかりやすいことが多いと 思います。

noname#102413
質問者

補足

アドバイスありがとうございます。情報・・・市販の参考書で勉強しているのですが、付属しているCD-ROMのサンプルを表示させる事は可能なのですが、自分で書いたフログラムは表示でいないんです・・・ そのときにでるエラーは You don't have permission to access /cgi-bin/test.cgi on this server. です。

  • estea
  • ベストアンサー率44% (39/87)
回答No.1

macは使ったことないんで、確証はありませんが macは独自のヘッダをくっつけてファイルを管理してるらしく、ここらへんが引っ掛かってるんだと思います ヘッダを書き出さない方法で保存できるならそれで、 できないんなら普通のエディタを使ってはいかがでしょうか

noname#102413
質問者

お礼

アドバイスありがとうございます。いろいろ設定をいじってみようと思います。

関連するQ&A

  • CGI(Perl)の取り扱いについて

    Macを使用しております。 現在、FlashサイトでCGIを利用したメールフォームを作成中なのですが CGIへの受け渡しの段階で、フォームがうまく動作してくれません。 プログラミングの知識が無いため、CGIファイルそのものは サンプルサイトからダウンロードさせて頂いたものです。 そこで、Macに詳しい方にお聞かせ願いたいのですが 書類の文字コード/改行コードの設定、保存時の設定、設置場所、 最適なテキストエディターやFTPソフトなど、Mac上でCGIを扱う 場合の注意点やアドバイスがありましたら宜しくお願い致します。 また、サイト自体の文字コードは「UTF-8」に設定しておりますが CGIファイルなど、文字コードは全て統一しなければなりませんか? 初歩的な質問かとは思いますが、何卒よろしくお願い致します。

    • ベストアンサー
    • CGI
  • CGI・Perlを作成するのに適したエディタは?

    CGI・Perlを作成するのに適したエディタは何がいいのでしょうか? 今まではWindowsに入っている「メモ帳」で作成していたのですが、 行数が出ないのと、文字コードが変更できないので、新しいエディタを探し始めました。 以上の2つの点を満たしていて、かつフリーのエディタでいいのはありますか? 検索してみたのですが、たくさんありすぎるし、ちょっとみたものはどうやら 違ったようなので・・・。 みなさんが使用してみて「これは使いやすい!」というオススメのものがありましたら お教えください。

  • cgiの500エラー

    OSXを使っている者です miで文字コードEUC 改行コードLFです #!/usr/bin/perl print "hello"; と書いてtest.plで保存して パーミッションをchmodのコマンドで755 にして共有を可能にしてローカルで試したんですが ソースが表示されて全然有効になってないみたいです PHPもそうでした .phpで書いてhtmlの中に埋め込んで パーミッションも755にしてもソースが全部表示されて動かなかったです 拡張子は.plではなくてcgiなのか気になります ソースも違ってたら教えて下さい ちなみにwebサーバーで試したら Internal Server Error 500でしたftpでchmodで755にしたんですが もしかしてソースミスでしょうか? CGIのソースなどやり方の一覧を詳しく簡潔に教えて下さい御願いします

    • ベストアンサー
    • Perl
  • 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の実行

    拡張子を.plとしたテキストperlを実行したいのですが、実行できません。 具体的には、 以前のパソコンでは(Os10.4.0)miエディターで開いてツールから実行していました。 ですがOs10.5.6になりmiからperlを実行すると、 Terminal でエラーが起きました:"* Inferior Terminal *" は «event TTplaplT» メッセージを認識できません。 (-1708) このようなエラーメッセージが出てきます。 perlが悪いのではないかと思い、pl(テキスト処理)をインターネットからダウンロードして試してみたのですが、どれも上記のエラーが出ます。 UnixScriptTools for miと言うものを入れてみましたが間違っているかもしれません。 設定など細かな部分でエラーが発生しているのかもしれません。 解決方法の予想がつく方、ご教授ください。

    • 締切済み
    • Mac
  • UTF-8でperlを書きたい

     お世話になっております。  これまで開発環境がWinであったこともあって、Shift_JISでperlを書いていたのですが、この度Mac OSXとデータベース関連でPerlを書かなくてはならないのですが、utf8で書くとInternal server Errorになってしまいます。Shift_JISに戻すと作動するのですが…。  いろいろ調べてみたところ、perl v5.8.xではuse utf8; を使わなくても作動するとのことですが…(私のサーバーでは、perl v5.8.8です)なかなかうまく作動してくれません。  改行コードはLFにしているのですが、その他の改行コードをいろいろやってみましたがやっぱり駄目でした。  何か基本的なことを忘れているのかな…と思うのですが、UTF-8で書く際に(または、Shift_JISから移行する際に)注意すべき点はどんなところでしょうか?

    • ベストアンサー
    • Perl
  • cgiがうごきません

    ApacheとPerlをインストールしてローカルでの動作確認OKなのですが、HP上では機能しません。 プロバイダー側が作った「アクセス権が認められてません ・・・どうたら、こうたら」のメッセージがでます。 すべてのファイル(cgi,html,pl・・)をEUC(文字)CR+LF (改行)にして、アスキーモードでアップロードしました。 Perlパスやパーミッションは間違いないとは思うのですが 、アクセスすると凄い文字化けになっています。掲示板は機能しません。FTPはFFFTPですので自動改行すると思うの ですが、コードの設定に関係があるのでしょうか? 私はWin98,プロバイダーはUNIX系です。それから、Apache とPerlを使ってエラーを調べられるようなことを聞いたの ですが、どのようにするのでしょうか?お願いします。

    • ベストアンサー
    • CGI
  • IISでCGIとしてのPerlが動かない

    Win2K ProにてIISでローカルサーバーでサーバーサイドスクリプトの勉強中です。 ASPは標準でついているので、PerlとPHPを組み込みました。 PHPは内部プロセス型ではなく、CGIバージョンですが、正常動作しました。 もちろんASPも。 それで問題なのですが、Perlがどうしても動きません。 PHPと同じように実行ファイルのパスや拡張子の設定はできているはずです。 しかし、いつまでたっても出力が出ず、2分くらいたってCGIタイムアウトとなってしまいます。 PerlにはActive PerlとCygwin付属のPerl両方試しましたが、タイムアウトです。 ファイルをコンソール上で実行してみましたが、Active PerlもCygwinのPerlも、期待通りの出力がなされています。 ちなみに、shファイルをCygwinのbashに関連付けて、実行させましたが、コンソール上での出力とはうらはらに、ブラウザ上ではやはりタイムアウトとなりました。 PerlのソースはいずれもほかのところのApacheでは動いているものです。 httpヘッダも正常です。 ソースの文字コードは英語のみ、EUC、改行コードcr+lf、lfのみなど、いろいろ試しましたがダメでした。 なにが原因なのでしょう。 IISを使っている方、アドバイスお願いします。

  • cgi(perl)からphp呼出

    どなたかご教授ください。 perlのcgiからsystem関数でphp(コマンドで実行可能なコード)を実行して返値を得たいのですが perlのcgiの実行結果では画面に文字化けを起こしたような結果が帰ってきます。 cgi(perl)からphpを実行するにはどのように すればいいのでしょうか? ご教授ください。

    • 締切済み
    • PHP
  • CGI/perlのエラー

    CGIのテストをしています。 サーバーはUbuntu14.04 htmlで <html> <head><title>HTMLサンプル</title></head> <body> ボタンサンプル<br> <form action="cgi-bin/test.cgi" method="post"> <button type="button">ボタン</button><br> <input type="submit" value="送信"> </form> </body> </html> test.cgi #!/usr/bin/perl system = ("date >> webwrite""); 実行すると End of script output befor heads: test.cgi のエラーで止まってしまいます。 ファイル webwriteは作成されています。 何か、終了処理が必要なもでしょうか?

専門家に質問してみよう