Windows + ActivePerlで、CGIの1行目を#!/usr/bin/perlのまま実行する方法

| カテゴリ:
Perl/CGIをWindows+Apache+ActivePerlで開発して、本番環境はLinuxで動かすような場合、
Perlスクリプトの1行目を環境に応じて書き換える必要がありますよね。

#!/usr/bin/perl  (Linuxの場合)
 ↓
#!c:¥perl¥bin¥perl  (Windowsの場合)
これって不便ですよね。
書き換え忘れてLinux上で動かないことがありますよね。

そこで、#!/usr/bin/perlのままWindows + Apacheで動かす方法がないか調べてみたら、ありました。

Win32版ApacheでMT環境を構築する際の注意点

しかし上記のやり方だと私の環境ではエラーが出たので、
下記のようにやったら見事に動きました。

前提条件:

  • ActivePerlがC:¥perl¥bin¥perlにインストールされている。
  • 同じくCドライブにApacheがインストールされている。

やり方

  1. C:¥usr¥bin というフォルダを作る。
  2. C:¥perl¥binの中の perlperl5.10.0exe, perl510.dll perl.exeの3つのファイル(数字はバージョンによって異なります)を
    c:¥usr¥binにコピーして置く。
  3. httpd.confの最下行に1行書き加える。
  4. SetEnv PERL5LIB C:/perl/site/lib
    SetEnv PERL5LIB C:/perl/lib
  5. Apacheを再起動
これで、Perl/CGIの1行目が#!/usr/bin/perlのままでもWindows上で動くようになりました。

かんたん!!
しあわせ!!

【追記】2008.12.7
どうもこのやり方だと、1行目のSetEnvが2行目のSetEnvによって上書きされてしまい、1行目が無効になっているようです。
う~んどうすればよいのやら。。。

トラックバック(0)

トラックバックURL: http://dqn.sakusakutto.jp/mt/mt-tb.cgi/237

コメントする

人気記事

このブログ記事について

ひとつ前の記事:「[JavaScript]Submit前に確認メッセージ(confirm)を出す

次の記事:「Perl UTF8でスクリプトを書く場合のサンプル

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近の人気記事