- ベストアンサー
XAMPPでApacheが起動しない
プログラミング初心者です。 XAMPPをダウンロードしたのですがMySqlやFileZillaは起動し、Apacheだけが起動しません。 こういった場合、ポートが競合して使えなくなっていることが多いそうですがPort-Checkを行っても全てのポートが解放されている状態でした。 OSはWindows7の32bit版、xamppのバージョンは1.7.3(1.7.4も試しましたがダメでした)です。どなたが原因がわかる方いらっしゃいましたら教えていただけると嬉しいです。よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ハンドルが無効ですと書かれたエラーの一行前にある、 Invalid argument: Parent: Failed to create the child process. というエラーが問題のようです。 インターネットで調べた所、Perlのモジュールの影響があるようです。 (1)インストーラーを使った場合->インストールした事がないので わかりません。インストール中にPerlモジュールのインストール有無の オプションがあればPerlモジュールをインストールしないように選択する (2)setup_xampp.batを使った場合->setup_xampp.batを テキストエディタで開きmod_perlと書かれたオプションを無効にした 状態で、setup_xammp.batを使ってインストールする (3)(XAMPPのインストールフォルダ)\apache\conf\httpd.confを テキストエディタで開き # Perl settings Include "conf/extra/httpd-perl.conf" と書かれた部分を # Perl settings # Include "conf/extra/httpd-perl.conf" と、コメントアウトする形に書き直しXAMPPを再起動する のどれかの方法があります。 (3)が比較的簡単かと思います。(1),(2)の場合は、XAMMPをアンインストールしてから 行わないといけないと思います。 インターネットで調べただけなので確実かどうかわかりませんが、 ご参考までに。
その他の回答 (2)
- axel_eye
- ベストアンサー率64% (145/226)
XAMPPは使った事ありませんが、 エラーログを確認してみましょう。 (XAMPPのインストールフォルダ)\apache\log\error.log にあります。 また、エラーログを見てみて特に、エラーが見つからなければ、 コマンドプロンプトで、 c:\>netsh winsock reset と、実行して、パソコンを再起動してからもう一度XAMPPを起動すると どうなりますか?
補足
ご回答ありがとうございます、axel_eyeさんのおっしゃっていたエラーのログを確認させていただいたところ以下のようなエラーが書かれておりました。(一応再インストールしなおしたので時間がさきほどのものになっております) [Wed Mar 23 02:09:50 2011] [notice] Digest: generating secret for digest authentication ... [Wed Mar 23 02:09:50 2011] [notice] Digest: done [Wed Mar 23 02:09:50 2011] [notice] Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations [Wed Mar 23 02:09:50 2011] [notice] Server built: Nov 11 2009 14:29:03 [Wed Mar 23 02:09:50 2011] [crit] (22)Invalid argument: Parent: Failed to create the child process. [Wed Mar 23 02:09:50 2011] [crit] (OS 6)ハンドルが無効です。 : master_main: create child process failed. Exiting. [Wed Mar 23 02:09:50 2011] [notice] Parent: Forcing termination of child process 36 [Wed Mar 23 02:16:09 2011] [notice] Digest: generating secret for digest authentication ... [Wed Mar 23 02:16:09 2011] [notice] Digest: done [Wed Mar 23 02:16:10 2011] [notice] Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations [Wed Mar 23 02:16:10 2011] [notice] Server built: Nov 11 2009 14:29:03 [Wed Mar 23 02:16:10 2011] [crit] (22)Invalid argument: Parent: Failed to create the child process. [Wed Mar 23 02:16:10 2011] [crit] (OS 6)ハンドルが無効です。 : master_main: create child process failed. Exiting. [Wed Mar 23 02:16:10 2011] [notice] Parent: Forcing termination of child process 36 「Invalid argument」「ハンドルが無効です」などの部分が気になるのですがこれらが問題なのでしょうか?
ちょっとこれだけの情報だとなんともいえませんが……。ポート競合がない、ということは確かなのですね? だとすると、後はユーザーアカウント制御の設定ぐらいしか思いつかないのですが。「ユーザーアカウント」コントロールパネルで「ユーザーアカウント制御設定の変更」をクリックして、現れたコントロールパネルでレベルを変更してApacheが起動するかどうか確認してみてください。(とりあえず、一度一番低い「通知しない」に変更して起動できないか確認してみてください)
補足
情報不足となってしまい申しわけありません。 コントロールパネルでapacheのstartを押すと一瞬動くように表示されるのですがすぐに終了してしまう状態です。下の部分では Apache started Busy... と表示されます。 試しにスカイプをダウンロードして起動させてみたところポート80と443が使われているという表示がでました。そしてSkypeを切るとすべてのポートがfreeと表示されるのですがやはり同じ状態のままです。 さきほど「ユーザーアカウント制御設定の変更」も確認させていただいたのですがもともと一番低い「通知しない」の状態になっていました。(管理者権限を持つアカウントで作業させていただいているからかもしれません) またaxel_eyeさんのおっしゃっていたエラーのログを確認させていただいたところ以下のようなエラーが書かれておりました。(一応再インストールしなおしたので時間がさきほどのものになっております) [Wed Mar 23 02:09:50 2011] [notice] Digest: generating secret for digest authentication ... [Wed Mar 23 02:09:50 2011] [notice] Digest: done [Wed Mar 23 02:09:50 2011] [notice] Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations [Wed Mar 23 02:09:50 2011] [notice] Server built: Nov 11 2009 14:29:03 [Wed Mar 23 02:09:50 2011] [crit] (22)Invalid argument: Parent: Failed to create the child process. [Wed Mar 23 02:09:50 2011] [crit] (OS 6)ハンドルが無効です。 : master_main: create child process failed. Exiting. [Wed Mar 23 02:09:50 2011] [notice] Parent: Forcing termination of child process 36 [Wed Mar 23 02:16:09 2011] [notice] Digest: generating secret for digest authentication ... [Wed Mar 23 02:16:09 2011] [notice] Digest: done [Wed Mar 23 02:16:10 2011] [notice] Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations [Wed Mar 23 02:16:10 2011] [notice] Server built: Nov 11 2009 14:29:03 [Wed Mar 23 02:16:10 2011] [crit] (22)Invalid argument: Parent: Failed to create the child process. [Wed Mar 23 02:16:10 2011] [crit] (OS 6)ハンドルが無効です。 : master_main: create child process failed. Exiting. [Wed Mar 23 02:16:10 2011] [notice] Parent: Forcing termination of child process 36 「Invalid argument」「ハンドルが無効です」などの部分が気になるのですがこれが問題なのでしょうか? よろしくお願いいたします。
お礼
ご回答ありがとうございます!(3)を実行したところ無事apachを実行することができました!! 私もインターネットで調べたのですが解決方法がわかりませんでした。よろしければどのページを参考にされたか教えていただきたいのですが大丈夫でしょうか。