WinXP 上で Cygwin の perl と Apache を連携させて CGI を動作させたいのですが失敗してしまいます。

> [Mon Nov 20 15:33:43 2006] [error] [client 127.0.0.1] (OS 3)指定されたパスが見つかりません。 : couldn't create child process: 720003: 1-1.cgi
> [Mon Nov 20 15:33:43 2006] [error] [client 127.0.0.1] (OS 3)指定されたパスが見つかりません。 : couldn't spawn child process: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/perl10/01/1-1.cgi
どうやったら動かせるでしょうか? コメント欄にに詳細を書きます。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2006/11/20 17:44:26
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:tpag No.1

回答回数95ベストアンサー獲得回数2

ポイント35pt

http://sakaguch.com/PastBBS/0034/B0017459.html

同様の質問が出てるようです。

ここの掲示板ではActivePerlの再インストールで正常動作するようになったようです。

id:renpoo

ありがとうございます。

2006/11/20 16:57:49
id:kronecker No.2

回答回数88ベストアンサー獲得回数10

ポイント60pt

その方法ではおそらく不可能だと思います。

  1. Apacheもcygwin上で動くものを使う
  2. cygwinを使わないで動くperlを利用する

のどちらかの方法を利用すべきだと思います。個人的には後者のActivePerlをおすすめします。

参考 http://takeoba.cool.ne.jp/perl/activePerl.htm

公式サイトのダウンロードページに行くと名前やメールアドレスを入力するよう求められますが空欄で構いません。そこからActivePerl 5.8.8.819のWindows(x86)のMSIファイルをダウンロードしてインストールしてください。

あとはほとんどいじる必要はないと思います。

参考 http://takeoba.cool.ne.jp/perl/perlHello.htm

id:renpoo

なるほど。

なんとか組み合わせられるのでは、と頑張ってみましたが難しいのですね。ActivePerlで再挑戦します。

  • ----- ----- ----- ----- -----

おかげさまで正常動作するようになりました。これで質問を終了します。ありがとうございました。

2006/11/20 17:43:41
  • id:renpoo
    大蘇 蓮風 2006/11/20 16:01:31
    詳細です。

    『10日でおぼえる Perl/CGI 入門教室』や『Perl言語プログラミングレッスン』という本を読んで Perl の実行環境を作ろうとしています。このマシンには既に
    ・Apache
    ・cygwin
    がインストールされていて、PHP が Apache 上で動作しています。また cygwin 環境上で perl が正常動作しています。

    そこで perl の CGI が Apache 上で動くように httpd.conf を書き換えました。
    > Options Indexes FollowSymLinks Includes ExecCGI
    > AllowOverride All
    > AddHandler cgi-script .cgi
    > AddType text/html .shtml
    > AddOutputFilter INCLUDES .shtml
    > #!c:/cygwin/bin/perl
    このように設定して実行しましたが、最初に書いたエラーが出て CGI が実行できません。

    単なる自学のためなので Apache 上で perl が動作してブラウザで確認できるようになれば構いません。

    お知恵を拝借させてください。


    perl, v5.8.7
    apache_2.2.3-win32-x86-no_ssl.msi
  • id:b-wind
    想像ですが、cygwin 上のアプリケーションって cygwin1.dll が無いと動かないので、c:\cygwin\bin\ にパスが通っている必要があるんじゃ無いかな。
    もっとも、その設定をするのも面倒なので、ActivePerl を使うのがやっぱりオススメ。
  • id:renpoo
    大蘇 蓮風 2006/11/20 18:03:31
    システムの環境変数では cygwin のバイナリにパスが通っていて、なおかつ Apache の httpd.conf でもパスを通したつもりですが、巧くいきませんでした。

    まあ ActivePerl を素直に使うのが一番なのですね。
    ありがとうございました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません