No.2ベストアンサー
- 回答日時:
> CGI(Perl使用)の部分もあるので、ローカルで実際に動かしてからサーバにアップしています。
> ローカルでの実行環境がApach(for win32)+ActivePerlで、サーバにアップするときにわざわざ#!部分を変更しなければなりません。それが少々めんどくさいので
> 質問したわけであります。
発想の転換をしてみてください。
要するに「she-bang 書き換えが面倒くさい」だけなんですよね?
Apache に依存させるのではなく、ActivePerl を入れなおして、ディレクトリをあわせてみてはいかがでしょうか。
ActivePerl をインストールする際に、例えばサーバ側が
/usr/bin/perl
だった場合、
c:\usr
フォルダを作っておいて、インストール先を c:\usr にしておけば、perl インタプリタの実行ファイルが c:\usr\bin\perl.exe になります。
she-bang を #!c:\usr\bin\perl とすればいいのは勿論なんですが、Apache を介せば、UNIX 表記でも問題ないので、#!/usr/bin/perl と記述することが可能です。当然それなら、いちいち書き換えなくても、サーバ側でそのまま利用することが可能です。
コツとしては、perl のパスの bin ディレクトリの上位まで、Windows 上に作っておいて、インストール先として、そこまで指定します。
/usr/local/bin/perl としたい場合は、c:\usr\local フォルダを作っておいて、インストール先として c:\usr\local を指定すれば、自然と bin ディレクトリが作られ、その中に perl.exe がインストールされます。
で、CGI として使用したいファイルの先頭を
#!/usr/local/bin/perl とすれば、サーバでも Win 環境でも共用できる she-bang が書けますので、そういうことを気にしなくてもいいと思います。
私はかれこれ 3 年間、この方法を使ってます。
No.1
- 回答日時:
httpd.conf 自体でそれをやるのは無理だと思います。
例えば、私が業務で使用している開発環境は、3 つ異なるバージョンの perl が入っているのですが、先頭の #! (She-bang) が無いと、どのバージョンで動作させるのかすら設定出来ませんし、これは言ってしまえば拡張子で判別させる DOS 系 OS と異なり、UNIX 系での「カーネルに認識させるための記述」という、ひとつの「文化」であって、Apache がどうのこうのって事でもないです。
Win32 版の Apache を使ってたとしても、UNIX 文化に育まれた Apache には、その解決方法が無いかと思います。
Apache のソースコードを改編してコンパイルし、「自分専用の Apache を作る」か、mod_perl を組み込み、mod_perl の拡張モジュールを作れば、それも可能ですが…。
できないとなると、残念です。
ちなみに、いまやりたいことは・・・
自分のWebページを作っています。
CGI(Perl使用)の部分もあるので、ローカルで実際に動かしてからサーバにアップしています。
ローカルでの実行環境がApach(for win32)+ActivePerlで、サーバにアップするときにわざわざ#!部分を変更しなければなりません。それが少々めんどくさいので
質問したわけであります。
apachの変りにhttpd for win32 を使うと、#!の行が違っても実行できるので、Apachではできないかと思いまして。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MovableType5のエラー文を教え...
-
EXCELファイルに誰がアクセスし...
-
pythonのCGIでページを遷移したい
-
simplexml_load_fileのエラー
-
IISのSSIの設定について
-
VB6 FTPファイルのパーミッショ...
-
CGIでjcode.plを読み込めなくな...
-
アクセスログのリファラについ...
-
ファイルロックの質問
-
超初心者ですが、、
-
ASP(IIS?)のエラーについて
-
パーミッションについて詳しく...
-
C言語のCGIはプロパイダに聞か...
-
ASPから既存のexcelブックを開...
-
cgiを複数設置する方法
-
HTMLでサーバと接続????
-
他人の"hoge.cgi"を使うのは危...
-
HTML文書の中で環境変数を使う...
-
Perlでの一括アップロード
-
特定のCGIだけ、作動するかわり...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プロバイダで定められたPerlへ...
-
mailformのCGI設置で「Internal...
-
古ーくからフリーのtree.cgi掲...
-
コアサーバー(coreserver)でのc...
-
CGIでリフレッシュメタタグの代...
-
Perlへのパス
-
Mac OS X 10.5 LeopardのApache...
-
急にCGIが動作しなくなった。
-
ファイルの削除について ( unli...
-
イントラネットにカウンター設置
-
フォームの送信ボタンを押すと
-
CGIのパーミッションについて
-
sendmailの-fオプション記述
-
CGIとプロバイダのつながり...
-
Can't locate R.pm in @INC
-
掲示板CGIが設置できないです。
-
Perlの初歩の初歩の初歩(#!/us...
-
1日の売上表を作りたいのですけ...
-
SSI(<!--#exec cmd="./XXXpl")...
-
#!/usr/bin/perl --
おすすめ情報