■
Windows 版 Apache 2.2 にて CGI を用いようとした場合、perl のパスには、
#!c:/cygwin/bin/perl (→ cygwin の perl を利用)
のように、Windows 用のパスを指定しなければならず、
#!/usr/bin/perl
のように、UNIX系のパスを指定して CGI を書いている場合、このパスを書き換えて設置する必要があった。
この置き換えの作業用のスクリプトか何かを書いておけば簡単に CGI の移行等も行えるのだろうけど、もっと簡単に、Windows 版の Apache の設定で UNIX パスが使えないか探していた。。
一番最初に試したのが、httpd.conf に書かれている ScriptAlias で、
/usr/bin/ を c:/cygwin/bin/
と置き換えられないか。どうか。
これは、無理でした。
ので、他に方法はないかと考えつつ、スクリプトを書くのは面倒くさいと思っていたので、パスの指定に、
#!perl
として、Windows 側は perl へのパスを環境変数の %PATH% に登録。
これは、Windows 側では動作しても、UNIX 側で上手く動作してくれない。
またまた、ので、最終的には諦めかけつつも、何かないかなと考えていたら、以下のような方法で解決に至った。
パスは UNIX 系の
#!/usr/bin/perl
を使用し、Windows において、
c:/usr/bin/
ディレクトリを作成。
c:/cygwin/bin/perl.exe
を上記ディレクトリにコピー。
と、これだけ。Windows 版 Apache が c:/ を / として認識しているのかどうか?? いまいち納得のいかないながらもこれで解決。perl の CGI を UNIX、Windows で同じく使えるようになりました。