こんにちわ。つい先日XAMPPをインストールし、いろいろといじっているのですが、つまづいてしまったので質問させて頂きます。

同ソフトにはPerlも同伴されているということで、CGIを用意して動作させたのですが、InternalServerErrorとなってしまいました。

どうやらPerlのパスが違うようです。が、どう設定すれば良いのかわかりません。
(perl.exeは C:\apachefriends\xampp\perl\bin\ にあります。)

また、#!/usr/bin/perl としても動作するようにさせるには、どうすればいいでしょうか。

ご教授ください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

> perl.exeは C:\apachefriends\xampp\perl\bin\ にあります。



#!C:/apachefriends/xampp/perl/bin/perl
または
#!C:/apachefriends/xampp/perl/bin/perl.exe
です。


> また、#!/usr/bin/perl としても動作するようにさせるには、どうすればいいでしょうか。

拡張子.cgiをperlに関連付けすることで可能です。
(関連付けとはWindowsでの関連付けのことです。例:「拡張子.txtはメモ帳で開く」というのが関連付けです)

関連付けをした後、
Apacheの設定ファイルであるhttpd.confを開いて、

ScriptInterpreterSource Registry

と加えておきます。(これでCGIを動かす時に一行目のパスが#!/usr/bin/perlのままになっていても、関連付けの設定をレジストリに参照しにいくため、必ずC:\apachefriends\xampp\perl\bin\perl.exeで動かしてくれます)
    • good
    • 0
この回答へのお礼

ありがとうございます。
試してみたところ、見事動作させることができました。
詳しくご教授くださり、こんな僕でもできました(^^/
文句無しの「良回答」です。

お礼日時:2005/05/10 00:02

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qniceの反対語

goodの反対語はbadですよね。
それでは、niceの反対語は何でしょうか?

Aベストアンサー

状況によって
・bad
・unpleasant
・nasty
・horrible

などが当てはまりますね。

Qperlの1行目が#!/usr/bin/perlだと動かず#!/usr

perlの1行目が#!/usr/bin/perlだと動かず#!/usr/bin/perl5.8.9だと動くのですが、
#!/usr/bin/perlで動くようにするにはどうしたらいいのでしょうか?

インストールされているperlは
This is perl, v5.8.9 built for darwin-2level
です。

どこかでパスの設定をしてやればいいと思うのですが、
どこに何を書けばいいのかよくわかりません。

環境はMacOsX v10.6 SnowLeopardです。
どなたかよろしくお願いいたします。

Aベストアンサー

MacOSのことはよくわかりませんが、一般的なUNIX系OSで考えると、、

シンボリックリンク/usr/bin/perlを作り、/usr/bin/perl5.8.9にリンクすればいいでしょう。
ln -s /usr/bin/perl5.8.9 /usr/bin/perl

そうすればPerlスクリプトは「#!/usr/bin/perl」のままでOKです。

Q恐怖の反対語って何ですか?

恐怖の反対語って何ですかね?反対語データベースにものってなかったので気になりました。快感ってのは聞いたことあるんですけどなんか違うような。。。。っていうか反対語はないのでしょうか?

Aベストアンサー

『A Dictionary Of Synonyms And Antonyms』(類語反語辞典)という本(英語)で、恐怖(fear)の反対語を調べてみましたが、十数種類の単語が並んでいました。
その中で、最もストレートな反対語は、fearlessness(恐れないこと。大胆)です。
文学的な表現なので、どの語が正しいというようなものはないのかもしれませんけどね。

参考URL:http://dictionary.goo.ne.jp/search.php?MT=fearless&search_history=%B6%B2%C9%DD&kind=je&kwassist=0&mode=0&ej.x=15&ej.y=10

Q#!/usr/local/bin/perl

とPerlのCGIの先頭に書きますが
FedoraCore3でPerlを使うときにはどのように書けばよいのでしょうか?

Aベストアンサー

#!/usr/bin/perl

でしょうか。FedoraCore3は私は使っていませんが、cgiの先頭に書くのは、perlへのパスになるので、もしターミナルが使える状況なら

which perl

で得られるパスを #! につづけて書けばOKです。

Q反対語を教えてください

1. 「すでに」の反対語は?


2. 「整然」の反対語は?


教えてください

Aベストアンサー

>1番のすでにの反対語ですが、「いずれ」「さきに」の二択の場合は
>どちらでしょうか・・・・・?

時間軸で考えると分かり易いと思います。
”すでに”は、始まっているということなので今よりも前のことです。

”いずれ”はこれから始まるであろうことで今より先のことです。(起こる起こらないは別の話ですが)
”先に”は今の時点からすると先に始まっていることなので、正解は”いずれ”になります。

 今回はソシーラス使ってませんよ、エライエライ(自分で自分を誉めてます)

Q#!/usr/local/bin/perlで命令が出せません。

プログラミングのド素人で、独学でwindows上でcygwinを使っている者から質問させていただきます。「#!/usr/local/bin/perl」というコマンドをプログラムの先頭に書いて、[ファイル名]を入力してcygwinで命令をしたところ、命令が実行できず、「commond not found」と出てしまいました。そこで、ネット上で、いろいろ調べて、試してみたのですが、どうしても、解決できません。
どなたか、アドバイスをいただけないでしょうか?
ちなみに、perl [ファイル名]では、命令を実行することができます。「type -a perl」というコマンドを入力すると、「/cygdrive/c/Perl/bin/perl」というのがでてきたので、「#!/cygdrive/c/Perl/bin/perl」というコマンドを書いても上手くいきませんでした。
ちなみに、私が書いたプログラムは、以下のようなものです。
#!/cygdrive/c/Perl/bin/perl (あるいは#!/usr/local/bin/perl)
# hello -- 挨拶のプログラム
print ("hello");

プログラミングのド素人で、独学でwindows上でcygwinを使っている者から質問させていただきます。「#!/usr/local/bin/perl」というコマンドをプログラムの先頭に書いて、[ファイル名]を入力してcygwinで命令をしたところ、命令が実行できず、「commond not found」と出てしまいました。そこで、ネット上で、いろいろ調べて、試してみたのですが、どうしても、解決できません。
どなたか、アドバイスをいただけないでしょうか?
ちなみに、perl [ファイル名]では、命令を実行することができます。「type -a perl...続きを読む

Aベストアンサー

perl.exe が、あなたの書いたスクリプトを見付けられないんじゃ無いでしょうか。

あなたの書いたスクリプトが hello.pl だとすると、

./hello.pl

とかで起動できないいんですね? 以下の Windows風の絶対パスでの起動を試してみてください。

'c:\foo\bar\hello.pl'


type perl の結果でスクリプトの 1行目 を決めるのは、大方は正しいでです。 正しくないのは、ふたつ以上のPerl処理系がインストールされた環境で使い分けるべき場合ですね。

type の結果が 「/cygdrive/c/Perl/bin/perl」というのは 「c:\Perl\bin\perl」であって、Cygwin の Perlでは無いのでしょう。それが Cygwin のShell(bash等) と相性の悪いのはしょうがない事です。

まずは、c:\Perl\bin\perl を使うのか Cygwin のPerl を使うのかを決めるのが良いと思います。 それにってその後にすべき事が変ってきます。

perl.exe が、あなたの書いたスクリプトを見付けられないんじゃ無いでしょうか。

あなたの書いたスクリプトが hello.pl だとすると、

./hello.pl

とかで起動できないいんですね? 以下の Windows風の絶対パスでの起動を試してみてください。

'c:\foo\bar\hello.pl'


type perl の結果でスクリプトの 1行目 を決めるのは、大方は正しいでです。 正しくないのは、ふたつ以上のPerl処理系がインストールされた環境で使い分けるべき場合ですね。

type の結果が 「/cygdrive/c/Perl/bin/perl」とい...続きを読む

Q中止の反対語は再開ではないようですが…

中止の反対語は継続や続行のようです。
では、再開の反対語はなにになるのでしょうか?

Aベストアンサー

>再開の反対語は?

再開の反対語は存在しない。あえて、候補を挙げれば<休止>。

Q#!/usr/bin/perl --でも不安定です

#!/usr/bin/perl
ですと全く表示されず、Internal Server Error.
#!/usr/bin/perl --
でも30%ぐらいしか画面表示されません。
サーバのファイルをTeraTermで見てもおかしなファイルが見当たりません。
問題のファイルを調べる方法はありますでしょうか?
Carpモジュールをuseしても相変わらずInternal ServerError.でさっぱり見当がつきません。

Aベストアンサー

(1)perlの確認
telnetで
 where perl
とやって、perlの場所を確認。

(2)プログラムの確認
  perl -c test.cgi
等として、エラーが無いか確認。

(3)出力の確認
  perl test.cgi
として、ちゃんと意図した物が出力されるか確認。

(4)出力内容の確認
良くあるのはCGI呼び出しなのに、先頭の
 content-type:text/html\n\n
が無いなどをチェック。

そもそもCGIなのか、実行するだけなのか判りませんが、
CGIで、プログラムがOKで、それでもだめな事を確認してから

apacheあたりの設定を疑うのが良いかと思います。
その場合、

!/usr/bin/perl
print "Content-type: text/html\n\n\n";
print "<html><body>test</body></html>\n";
exit;

ぐらいのプログラムでお試しを。

Qtrapの反対語ってなんですか?

trap(罠をかける)の反対語ってなんですか?

また、英語の反対語が載っているURLなどが
ありましたら、教えてください!

Aベストアンサー

(↓)ではtrapの反意語はみつかりませんでしたが。
ほかにも、音がにている単語、類義語なども調べられます。

参考URL:http://www.rhymezone.com/r/rhyme.cgi?

QActivePerlで#!/usr/bin/が無効

WindowsXPにActivePerl(5.16.3.1603)をインストールして、
コマンドラインに「perl script.scr」と入力して
スクリプトファイルは実行できるのですが、
スクリプトファイルの1行目に「#!/usr/bin/perl」を記述して、
コマンドラインに「script.scr」と入力して実行しようとすると、
「C:\・・・\script.scrは有効なWin32アプリケーションではありません。」
というメッセージが表示されて正しく実行できません。

perl.exeのあるフォルダをC:\usr\binフォルダにして、
1行目を
#!/usr/bin/perl
#!C:/usr/bin/perl
#!C:\usr\bin\perl
などいろいろ試してみましたが、どれも
前述のメッセージが表示されて実行できませんでした。
コマンドラインに「script.scr」と入力するだけで
実行することができるようにするには
どのようにすればいいのでしょうか。

script.scrの拡張子scrをplなどに変更して
この拡張子のファイルに対してperl.exeに関連付けることにより
script.plだけでも実行できるようにはなりますが
拡張子.scrではこの関連付けができませんので
#!/usr/bin/perl等を使用する方法で解決したいです。

ジャンクションとかApacheなどが全く分かりませんので
これらを使わずに簡単にできる方法がありましたら教えてください。
(なお使っても分かりやすい手順があれば可です)
よろしくお願いします。

WindowsXPにActivePerl(5.16.3.1603)をインストールして、
コマンドラインに「perl script.scr」と入力して
スクリプトファイルは実行できるのですが、
スクリプトファイルの1行目に「#!/usr/bin/perl」を記述して、
コマンドラインに「script.scr」と入力して実行しようとすると、
「C:\・・・\script.scrは有効なWin32アプリケーションではありません。」
というメッセージが表示されて正しく実行できません。

perl.exeのあるフォルダをC:\usr\binフォルダにして、
1行目を
#!/usr/bin/perl
#!C:/usr/bin/perl
...続きを読む

Aベストアンサー

ファイルの先頭を見て、#!だったらその行を実行コマンドとして実行、というのは、Unix系OSの機能です。
Windowsでは使えません。
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%90%E3%83%B3_%28Unix%29

scr は、たしか、Windowsのスクリーンセーバー用に使われていたと思います。
どうしてもscrのままで、となると難しいと思います。

BATファイルに埋め込んで、shebang風に使う、という方法はあるのですが。
Windows shebangで検索するといくつか見付かります。


人気Q&Aランキング

おすすめ情報