dポイントプレゼントキャンペーン実施中!

CGI(perl)の1行目である、#!/usr/bin/perlを読み飛ばす設定をしたいと思います。
httpd.confで
ScriptInterpreterSource registry
としました。
さらにレジストリで拡張子の関連付けが必要なようなのですが、それの具体的な方法がわかりません。

ご教授お願いします。


やりたい事は、ローカルとサーバーのperlのパスがことなるため、1行目を変更するのがめんどうでそれを改善したいのです。
現在は、c:\usr\bin\perl にperlをインストールして回避していますが・・・


環境
windows2000
apache1.3.29
perl

A 回答 (2件)

Apacheの設定のScriptInterpreterSourceの説明によると・・


------------------------------
スクリプトファイルの拡張子 (例えば、.pl) を キーとして、Windows のレジストリツリー HKEY_CLASSES_ROOT を検索するようになります。レジストリのサブキー Shell\ExecCGI\Command か、それが存在しない場合は Shell\Open\Command がスクリプトファイルを開くために 使われます。
------------------------------

ということで、自分の環境ではテストしていませんが、レジストリに以下のように書くのではないかと・・・


HKEY_CLASSES
.pl
shell
ExecCGI
command @="C:\Perl\bin\perl.exe" "%1" %*
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
私はたいていの場合、.cgiを使っているので、.plを.cgiに置き換えれば良いということなんでしょうか。

お礼日時:2004/09/29 23:13

Perlのパスが通っていれば一行目を変えなくても動きますよ。


実際に意識してやったことはないのですが、
[コントロールパネル]-[システム]-[詳細設定]-[環境変数]の Path に perlへのパスが通っていれば大丈夫だと。
Active Perl を MSI形式のものでインストールすれば勝手に入っていると思いますが。。。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

perlへのパスは通してあるのですが、私の環境ではうまくいってないようです。

お礼日時:2004/09/29 23:13

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