しぐれがき

これまで挑戦したことの備忘録です

XAMPPでApacheが"Apache shutdown unexpectedly"エラーで起動できない

f:id:shiguregaki:20170422081314j:plain
こんにちは、しぐれがきです。

今回はXAMPPをインストールする中で


Error: Apache shutdown unexpectedly
This may be due to a blocked port, missing dependencies,
improper privileges, a crash, or a shutdown by another method.
Press the Logs button to view error logs and check
the Windows Event Viewer for more clues
If you need more help, copy and post this
entire log window on the forums
というエラーが出てApacheが起動しませんでした。。。
いろいろ試した結果、解決方法が分かったので以下でまとめたいと思います。

f:id:shiguregaki:20170422081206j:plain


目次

解決方法

本解決方法が有効と思われる条件

以下の3つに該当する場合、本記事で紹介する解決方法が有効かと思います。

1.XAMPPでApacheがうまく起動できず、blocked portが原因のエラーが出た

f:id:shiguregaki:20170422081213j:plain

2.XAMPPインストールする途中で'-n'が見つかりません。のエラーが出た

f:id:shiguregaki:20170422081218j:plain

3.XAMPPインストールする途中でInstallation failed (php.exe)の警告が出た

f:id:shiguregaki:20170422081227j:plain

解決方法の紹介

XAMPPのインストールフォルダの先を最上位ディレクトリ(C:\xamppやD:\xamppなど)に指定すること
※サブディレクトリ(C:\subdir\xampp)にすると上記エラーがでます。

f:id:shiguregaki:20170422081236j:plain

(補足)エラー内容の特定

エラー内容を読むと、Apacheが予期せぬシャットダウンをしたといっており、その原因はblocked portだと記載されています。とりあえずblocked portで検索をすると、どうも一般的なエラーでいろいろな要因でこのエラーがでるようです。


よく出てくるのは以下の2つでした。



1.管理者権限で実行していない
参考:ninnin.inの「XAMPPをインストールしたのにエラーで起動しないぞぉ~!?え?ポートなの?管理者権限?」

ninnin.in



2.80ポート競合
参考:「XAMPPでインストールしたApacheが起動しないとき」

https://php1st.com/946/">https://php1st.com/946/">https://php1st.com/946/




しかし、結論から言うと上の2つの方法では解決できなかったです。
管理者権限で実行しても同エラーはでましたし、コマンドプロンプトから"netstat -nao"コマンドでポートを確認しましたが80ポートが使用されていないことが確認できました。
では、原因はなんなのか。。。さっぱりだったので一度アンインストールして再度インストールしなおしてみることにしました。



すると、XAMPPのインストールしている途中で

'-n'が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。
というエラーが出ているじゃないですか。(最初はとりあえずよくわからずOK押していました笑 そういえば出てましたね。。。)

とりあえず今回もエラーが再現されるか確認するために同じようにOKを押します。



するとさらにインストーラから警告がされました。

WarningProblem running post-install step. Installation may not complete correctly Installation failed (php.exe).
Perhaps you have to install the Microsoft Visual C++ 2008 Redistributable package.
After that please execute the setup_xampp.bat in the xampp folder manually.
php.exeのインストールがうまくいっていないようです。
Microsoft Visual C++ 2008を入れろと言っていますが、コンパネで確認するとちゃんとインストールされています。。。


とりあえずスルーしてOKを押すと一応XAMPPのセットアップが完了したことを伝えるウィンドウが表示されました。
"Do you want to start the Control Pannel now?"をチェックしてFinishをクリックします。

f:id:shiguregaki:20170422081248j:plain

XAMPPのコントロールパネルが起動したのでApacheをStartしてみると、、、上のエラーが再現されました。





整理するとXAMPPのインストール過程で1つのエラーと1つの警告がでました。
[エラー]:'-n'が見つかりません。
[警告]:Installation failed (php.exe)

エラーのせいで警告が出ている可能性があるので、'-n'が見つかりません。が原因のようです。
'-n'が見つかりません。といっているので、どうもインストール途中にファイル?かなにかが見つかっていないのが原因のようです。
ファイルが見つかっていないのなら、インストール先に問題あるのではないかと考え、XAMPPのインストールフォルダをデフォルトから変えないで再インストールしなおしてみました。
※これまではサブフォルダにインストールフォルダに指定していました。

f:id:shiguregaki:20170422081255j:plain



するとXAMMPのインストール途中で'-n'が見つかりません。エラーとInstallation failed (php.exe)警告が出ず、XAMPP Control PannelでApacheが正しく起動できました。

f:id:shiguregaki:20170422081301j:plain

原因はXAMPPのインストールするフォルダに原因があることが分かりました。

まとめ

XAMPPをインストールするだけでこんなに時間がかかるとは思いませんでした笑
エラーや警告が出たときはきちんと内容を精査しないとだめですね。以後気を付けたいと思います。

以上!