▼スレッド
│
└◇152:Re:#!に関して [川] 02/09 01:14
└◇154:Re:#!に関して [水口] 02/09 <
>各ソフトが仕様どおりの動作をした結果だと思います。スレッド一覧
そのとおりですね。 私の少ない知識の範囲で考えておりました。
>なるほど、Apache がらみでしたか。
>d:/cygwin/ と / を等価だと認識できるのは Cygwinアプリだけなので、非Cygwinアプリ
>の Apache が「#! /usr/local/bin/perl」を正しく処理できないのは理解できます。
>1 Apache の設定で、「外部コマンドは d:/cygwin/bin/sh 経由で起動する」様にする。
>2 Cygwinでコンパイルした Apache を使用する。
>3 CYGROOT を c:/ にした上で、c: 以外のドライブレターを使用しない。
>のうちいずれかひとつで解決しそうな気がしますね。
1が一番スマートなような気がします。(大きな修正なく目的が達成できそうな点で)
しかし、1−3すべてわからず、手をこまねいております。
1でWin版のApacheを用いていますが、httpd.confにそれらしき記述を見つけることができませんでした。
なぜ、Win版Aapcheを使うのかという理由は、Win版のインストール・設定は非常に簡単にでき、バージョンアップも頻繁に行われている点です。
2は、Cygwin版Apacheにすれば、話は早いのですが、実は Perlも cygwin版を使っていなく、Win版Perlを利用しています。
理由は1と同様に、インストール・セットアップ・バージョンアップなど総合的に見てソフト自体の出来が良いと感じているからです。
3は、Cygwinのど素人で設定ファイルをいじくるのでが恐いからです。(^^;
自分では最善のつもり・上級者が見れば情けない理由ですがよろしくお願いいたします。
> 1でWin版のApacheを用いていますが、httpd.confにそれらしき記述を見つけることができませんでした。スレッド一覧
申し訳無い。できませんでしたか。 Apache を使ったことがないくせに、調べずに書いてしまいました。
> 2は、Cygwin版Apacheにすれば、話は早いのですが、実は Perlも cygwin版を使っていなく、Win版Perlを利用しています。
Cygwin の Shell に #!/.../perl を処理させると、
非Cygwin の Perl が script file を読めないというケースに昔遭遇しました。
これは、Cygwin の Shell は例えば d:/prog/foo/bar.cgi を
/cygdrive/d/prog/foo/bar.cgi の様な 非Cygwinアプリには理解できない Path に変換して Perl に渡す(ことがある)為です。
今は CygwinPerl を使用しているので最新の事情は違うかもしれませんが。
いっそ、Cygwin に頼らないアプローチもアリでしょうか?
# 掲示板の趣旨に反してすみません。m(_r_)m
Apache process の current drive を d: に固定することができたなら、
後は d:\cygwin\usr\local を d:\usr\local に移動すれば OK かも知れませんね。