web-dev-qa-db-ja.com

Xampp-Apacheが予期せずシャットダウンし、ログファイルが空になり、イベントが発生しない

マシンにXAMPPをインストールしています。 XAMPPコントロールパネルからApacheを実行しようとしています。

XAMPPコントロールパネルを起動するには、ショートカットを右クリックして[管理者として実行]を選択します(管理者権限でアカウントにログインしています)。コントロールパネルが起動し、すべてが正常に表示されます(エラーメッセージ/警告なし)。

Xampp Control Panel After Startup

Apacheの横にあるStartボタンをクリックすると、次のエラーメッセージが表示されます。

2:22:44 PM  [Apache]    Attempting to start Apache app...
2:22:45 PM  [Apache]    Status change detected: running
2:22:45 PM  [Apache]    Status change detected: stopped
2:22:45 PM  [Apache]    Error: Apache shutdown unexpectedly.
2:22:45 PM  [Apache]    This may be due to a blocked port, missing dependencies, 
2:22:45 PM  [Apache]    improper privileges, a crash, or a shutdown by another method.
2:22:45 PM  [Apache]    Check the "/xampp/Apache/logs/error.log" file
2:22:45 PM  [Apache]    and the Windows Event Viewer for more clues

Xampp Control Panel Apache Error

Apacheが予期せずシャットダウンし、error.logファイルとWindowsイベントビューアを確認するように指示していることに注意してください。

Error.logファイルを確認しましたが、空です。

Apache Error Log File Empty

また、Windowsイベントビューアを使用してイベントを確認しましたが、イベントビューアにイベントが表示されません(アプリケーションの下)。

Windows Event Viewer No Application Events

ポートなどをブロックしている可能性のあるプログラム(Skype、Visual SVN Serverなど)を確認し、問題の原因となっている可能性のあるプログラムをすべて閉じました。

何が起こっているのかを知るために他にできることはありますか?

ありがとうございました。

[〜#〜] update [〜#〜]

DOSコマンドプロンプトからApacheを実行しようとすると、問題がわかりました。コマンドプロンプトから実行すると、特定のエラーと、それらのエラーが発生したhttpd.confファイル内の場所がわかりました。私のServerRootDocumentRootの値が正しくなかったことがわかりました(間違ったディレクトリ)。正しいディレクトリを指すように変更しました。これで、コントロールパネルからApacheを起動できます。

不思議なことに、ServerRootDocumentRootに関するエラーメッセージが表示されなかったのはなぜですか)コントロールパネルから起動するとき?

17
Jan Tacci

コマンドプロンプトテクニックも使用したことをお伝えしたいと思います。

私の問題:Apacheを再起動しましたが、プログラムを再開できませんでした。

解決策の試み1:これは機能しませんでした。 SKYPEなどのプログラムがポートを占有していませんでしたが、とにかくポート設定を調整しようとしました。

解決策の試み2:これは機能しませんでした。私が読んだ別の解決策は、Windowsファイアウォールでパブリックアクセスを許可するか、ファイアウォールを無効にすることでした。私はこれを試みました。

解決策の試み3:これはうまくいきましたついに私はこの投稿に出くわしました。 gitbashを開きました(ただし、デフォルトのWindowsコマンドPromptは正常に機能します)。

「cdc:/ xampp/Apache/bin」と入力してから、「httpd」と入力しました

これにより、構文エラーが発生し、「httpd-vhosts」ファイルの特定の行が示されました。その行の何が問題なのか、私の場合は「#」がないことがわかりました。ファイルを保存してから、もう一度「httpd」と入力しました。今回はApacheサーバーが起動しました。

これが一部の人々に役立つことを願っています!

18
hekx

私の場合、IISを実行しているサーバーにXAMPPをインストールする必要があり、IISを実行している必要があります。したがって、XAMPPでは、メインの構成を介してポートを変更する場合ボタン> [サービスとポートの設定]は何もしません。代わりに、Apacheの構成ボタンをクリックしてからApache(httpd.conf)をクリックします。「listen80」を「listen8080」(引用符なし)または任意のポート番号に変更します。 -現在使用されていないことを確認してください。誰かに役立つことを願っています。

2
user1060641

この問題は、3つの理由で発生する可能性があります。1。ServerRoot、DocumentRootパスが正しくない2.すでにhttpd.configまたはhttpd-ssl.configのポートを使用している他のアプリケーション。この競合を確認するには、XAMPコントロールパネルのユーザーNetStatボタン3. httpd/httpd-sslのXAMPコントロールパネルに設定されているポートが、それぞれの構成ファイルに設定されているものと一致していません

上記の不一致を修正して問題を修正してください

0
user3315540

おそらく、ポートを構成する必要があります。 XAMPPコントロールパネルのApache行に、「Config」という名前のボタンが表示されます。それをクリックしてから、「Apache(httpd.conf)」をクリックします。ファイルが開き、次のような行までスクロールする必要があります。

#聞く12.34.56.78:80

#聞く80

行「#Listen80」を「#Listen8088」に変更します。

多分それは問題を解決するでしょう。

私は同じ問題に直面しました、そして以下は私がそれをどのように解決したかです。

  • Skypeは、Apacheサーバーに必要なポート80を使用していました。したがって、skypeを開き、[ツール]> [オプション]> [詳細]> [接続]に移動します。ティックを削除します"追加の着信接続にポート80と443を使用します"

  • XAMPPコントロールパネルを開き、「httpd-ssl.config」ファイルを開いて、別のポート(「Listen444」など)への行"Listen 443"を見つけます。

0
Praboda

ログファイルにデータが入力されていませんWindowsイベントビューアは、Apacheから発生したエラーをログに記録しませんでした。しかし、コマンドラインからApacheを起動すると、ポート80をバインドできないというエラーメッセージが表示されました。ポート80でSkypeを実行していました。Skypeを終了しても問題は解決しませんでした。そのため、ポートをhttpd.confの9ファイルに構成しました。


0