XAMPPを再インストールしたばかりで、XAMPPコントロールパネルでApacheサーバを起動しようとすると、次のエラーが表示されます。
16:50:25 [Apache] Status change detected: running
16:50:26 [Apache] Status change detected: stopped
16:50:26 [Apache] Error: Apache shutdown unexpectedly.
16:50:26 [Apache] This may be due to a blocked port, missing dependencies,
16:50:26 [Apache] improper privileges, a crash, or a shutdown by another method.
16:50:26 [Apache] Press the Logs button to view error logs and check
16:50:26 [Apache] the Windows Event Viewer for more clues
16:50:26 [Apache] If you need more help, copy and post this
16:50:26 [Apache] entire log window on the forums
どうやってこれを解決できますか?
スカイプを開いて。
「ツール」 - >「オプション」 - >「詳細設定」 - >「接続」。
[ 着信接続の代わりにポート80と443を使う ]チェックボックスをオフにします。
サインアウトして、すべてのSkypeウィンドウを閉じます。 Apacheを再起動してください。
私は開発者がファイアウォールの問題に直面している企業環境で働いているので、他の答えのどれも私の問題を解決しませんでした。
このポートはSkypeではなく、他の内部アプリケーションで使用されているため、問題を解決するために以下の手順を実行しました。
ステップ1 - XAMPPコントロールパネルの[Apache]の下にある[Config]ボタンをクリックし、Apache(httpd.conf)を選択します。
httpd.conf ファイルの中に、どういうわけか次のような行が見つかりました。
Listen 80
そして80を任意の番号/ポートに変更してください。私のシナリオでは、ポート8080を使用しています。
Listen 8080
それでも httpd.conf ファイルから、次のような行が見つかりました。
ServerName localhost:80
80を8080に変更します。
ServerName localhost:8080
ステップ2 - XAMPPの[コントロールパネル]から、[Apache]の下にある[Config]ボタンをもう一度クリックしますが、今回はApache( httpd-ssl.conf )を選択します。 httpd-ssl.conf ファイル内で、次の行を見つけます。
Listen 443
そして443をあなたが望む任意の番号/ポートに変更してください。新しいポート番号として 4433 を使用します。
Listen 4433
それでも httpd-ssl.conf ファイルから、次の行を見つけます。
<VirtualHost _default_:443>
ServerName localhost:443
そして 443 を 4433 に変更してください。
<VirtualHost _default_:4433>
ServerName localhost:4433
変更を行った後は、 httpd.conf および httpd-ssl.conf ファイルを必ず保存してください。その後、Apacheサービスを再起動してください。
あなたがすることができる1つのことは、発行することによってポート80のサービスを停止することです。
net stop http
cmdで。これらのサービスを停止してもよろしいですか?使用していないサービスがいくつかあり、それらを無効にしていることがわかりました。
他のユーザーがポート80を使用していることを確認するには、cmdと入力します。
netstat -abno
私はあなたがApacheをポート80で動かしたいと思っているのです。これが事実であり、あなたが衝突しているサービスを維持したいのなら、あなたはそれらを新しいポートに関連付ける必要があります。
問題がビジー状態のポートではない場合は、次の方法も試してください。XAMPP設定パネルで「show debug information」を選択します。 Apacheを起動すると、 "Executing" c:\ xampp\Apache\bin\httpd.exe "のように表示されます。
c:\xampp\Apache\bin\httpd.exe
cmdでは、あなたはもう少し情報を得るでしょう(私はかつて私の例えばhttpd.confファイルに関する問題を抱えていました)。
関連: localhost Windowsで80番ポートを解放するにはどうすればいいですか? および Apacheはxamppで動作しません
XAMPPコントロールパネルV3.2.1で、右上の「NetStat」ボタンをクリックしてください。ポート80が他のプログラムによって使用されていないことを確認してください。そしてその真下にある「Shell」をクリックしてください。このコマンドを発行してください「apとTABを2回入力してください」
Apache_Start.bat
あなたは実際にApacheが失敗した正確なエラーを見るでしょう。仮想ホストの設定に問題があるか、他の可能性があります。エラーが発生している行番号が表示されます。そのエラーを修正するだけです。 RootDocumentでは、末尾の\もエラーの原因になる可能性があります。末尾の「\」を削除します。
より詳しい回答は、 ここで確認してください
次の手順を実行します:
「Apache(httpd.conf)」を選択して、以下のコードを見つけて、このコードに変更してください。
#下図のように、これを変更して特定のIPアドレスでリッスンする
#ApacheがすべてのバインドされたIPアドレスを攻撃するのを防ぎます。
#0.0.0.0:80を聞く
#聴く[::]:80
Listen 80
#動的共有オブジェクト(DSO)のサポート
#注:IPv6を使用し、IPv4マップアドレスを使用しない設定には2つ必要です。
#Listenディレクティブ: "Listen [::]:443"と "Listen 0.0.0.0:443"
#
#0.0.0.0:443を聞く
#聴く[::]:443
Listen 443
ちょっと待ってください。そうすればあなたのコンピュータ/ラップトップは自動的に再起動し、あなたのXAMPPコントロールパネルを再び開くことを試みるでしょうそしてそれからあなたのApacheを起動します.
私の問題は、httpd.conf内のDocumentRoot
と<Directory>
のエントリが存在しないフォルダを指していたことです。
たとえば、「元の」httpd.confには次のエントリがありました。
DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
C:\ xamppにインストールした場合は、それらのエントリを一致するように変更する必要があります。
DocumentRoot "c:/xampp/htdocs"
<Directory "c:/xampp/htdocs">
私は同じ問題を抱えていた、そしてそれは私がsetup_xampp.bat
(ポータブル版)を実行するのを忘れていたことが判明した。
私はいつか同じ問題を抱えていました。私は古いラップトップを持っていましたが、その上でほとんどすべてのポートがブロックされているか誤動作していました。これが私のやり方です。
XAMPPコントロールパネルを開きます。
Configをクリック
それからApache httpd.conf fileに進んでください。テキストエディタで開きます。
"80"(を検索します Ctrl + F そしてそれらすべてを見つけなさい。 8080または4040または40)に置き換えます。
ファイルを保存してください。そしてXAMPPを再起動します。
それは私にとってうまくいった、そして私はそれがあなたにも役立つことを願っている。
コマンドを使用してポート80を使用しているプロセスがないことがわかったとき
netstat -abno | find ":80"
ポート80を使用するプロセスの問題はありませんでした。
それから私は(CMDで)コマンドを実行しました
C:\xampp\Apache\bin\httpd.exe
Eclipse IDEのWordPress PHP環境にインストールするために私が最近編集したhttpd-vhosts.conf
ファイルの仮想ホスト設定にエラーがありました。だから私はそれらの行を削除し、Apacheは完璧に起動しました。
あなたができる簡単なことは Skype または VMware があなたのマシンにインストールされているかどうかをチェックすることです。
Skypeは、着信接続用の追加ポートとしてポート80と443を使用します。 Skypeでポート番号を変更するには、にアクセスしてください。
ツール>接続オプション>接続
skypeウィンドウで今すぐデフォルトの80ポート番号を他の何かに変更します。
VMware Workstation は共有にポート443を使用します。これを変更するには、VMware Workstationを開いて次に進みます。
編集>設定>共有仮想マシン
それがあなたがしなければならないすべてです。 XAMPPを再起動してApacheサーバを起動します。
私にとっては、ワールドワイドウェブパブリッシングサービスはポート80を使用していました。cmdで次のコマンドを実行することによってこれを殺しました。
net stop http
その後、XAMPPは問題なくApacheを実行しました。
このエラーは、Apacheに割り当てられているポートが別のプログラムによって使用されているために発生します。 Apacheに割り当てたポートを使用するアプリケーションを確認するには、をクリックしてください。
Netstat ボタン。
これがNetstatファイルです。
最初に、私はApacheにポート8080を割り当てました、そして私は最近Oracle DBをインストールしました。
したがって、このファイルを見れば、他のアプリケーションと衝突しないポートを選択できます。私の場合、ポート8060はどのアプリケーションとも衝突していません。これを選択することで、上記のように httpd.conf ファイル(XAMPPコントロールパネル - > Config)を変更できます。
私の場合、この問題は WordPress のようなbitnamiの他の製品をダウンロードしようとしたことが原因でした。 XAMPPを介してWordPressをインストールするとき、それは一般的です。 XAMPPアプリケーションのホームページからアクセスできるxampp/app
ディレクトリにあります。
解決策として、私はデフォルトでインストールされているWordPressをxampp
ディレクトリから削除し、WordPressをダウンロードしてZipファイルをhtdocs
フォルダに展開することによってWordPressのhtdoc
フォルダに手動でインストールしました。 XAMPPを再起動する必要があります。またはデフォルトのWordPressをアンインストール/削除した後にシステムを再起動する必要があります 。私のためにすべてが今大丈夫です。
私はOPと全く同じエラーメッセージを持っていましたが、私の問題は既存の答えのどれによっても解決されませんでした。ごく最近になってlocalhostがポート80で応答していたので、答えの多くは私が持っていなかったことを知っていたポート80での衝突を扱います。
ServerRoot を変更しようとしたときに誤って ServerRoot を変更したことが判明しました。 DocumentRoot (stupid) Apacheが必要なため、起動に失敗しました。エラーメッセージは、おそらく ' missing dependencies 'という言葉でこのシナリオに対処します。
私のWindowsシステムでは、ServerRootを C:/ XAMPP/Apache に戻すことで問題は解決しました。
\xampp
フォルダがルートにあることを最初に確認してください。パスは相対的なので、これは重要です。
それから、xampp_control.exe
を管理者権限で実行してください。
それからブロックされたポート80に関する問題を避けるために下記のファイルを変更してください。
\xampp\xampp-control.ini
では、それを設定する必要があります。
[ServicePorts]
Apache=8080
ApacheSSL=4433
\xampp\Apache\conf\httpd.conf
を見つけて設定します。
Listen 8080
ServerName localhost:8080
\xampp\Apache\conf\extra\httpd-ssl.conf
を見つけて設定します。
Listen 4433
<VirtualHost _default_:4433>
ServerName www.example.com:4433
その後、すべてのサービスを終了し、管理者権限でxampp-control.exe
を再起動します。実行する必要があります。
Apacheサーバはデフォルトでポート80、443で動作します。あなたの問題は2つのポートの一方または両方がビジーです。通常、SkypeまたはVMware Workstationはこれら2つのポートを使用します。だから、それらが実行されていないことを確認してください。 Windows上でポートが空いていることを確認する最善の方法は、次のとおりです。
Windowsボタンをクリックしてください。
検索バーに resmon と入力して、リソースモニタを開きます resmon.exe 。
Open Listening Ports 、開いている使用済みポートを表示します。
これで、どのプロセスがポート80と443を使用しているかがわかります。
その後、PID(リソースモニタに表示されます)を使用してCMDから、またはタスクマネージャから直接プロセスを強制終了できます。
PIDタイプ
Taskkill /PID 26356 /F
を使用してCMDからプロセスを強制終了するには、26356がPIDです。
デフォルトのポート80によるこのような問題は、Apacheではブロックされています。ポートを変更するか、またはアクセス可能にする必要があります。
Apacheインストールの Apache設定(httpd.conf) ファイルに移動します。
次の行を見つけてください。
#
聞く 192.168.1.2:80
聞く 80
#
ここで192.168.1.2は私のプライベートIPアドレスです。あなたのそれに従ってそれを変えなさい。
以下のように変更
聞く192.168.1.2:8081
聴く8081
Localhostにアクセスするとき、ポートを http:// localhost:8081/ ...のように明示的に追加する必要があります.
原因の1つは、XAMPPコントロールパネルを管理者として実行していないことです。
私はサービス「Web Deployment Agent Service」を停止することで問題を解決しました。開く: システム - > コンピュータの管理 - > サービス - > Web配置エージェントサービス 。このサービスを停止してXAMPPを起動してください。これはMS Webmatrixによるサービスだと思います。
(ドイツ語: Systemsteuerung - > System und Sicherheit - > Verwaltung - > Dienste - > Webbereitstellungs-Agent-Dienst )
私の場合、これはSQL Serverをインストールした後に起こり、解決策はこの回答で説明されているとおりです
Xampp - SQL ServerとVisual Studioのインストール後にApacheを起動できない
だから私は単にWindowsサービスから "SQL Server Reporting Services"サービスを無効にする必要がありました
デフォルトのポートを変更しても、ブラウザはそれを知らないことに注意してください。 80
と443
は何らかの点で標準的なようです。たとえば、80
を8080
に変更した場合は、次のようにWebサイトにアクセスする必要があります。
localhost:8080/path_to_your_website.php
Cmdでhttpd.exeを実行しようとしましたが、httpd-vhosts.confに構文エラーがあるというエラーが発生しました。 ファイルをチェックしたところ、何が問題なのかがわかり、現在は問題なく機能しています。
あなたがこのエラーに直面しているのであれば、それはそれからhttpd-vhostsまたはその他のファイルの可能性があります。
Cmdでプログラムを実行しようとすると、エラーの詳細と構文エラーの行が表示されます。
最高の運
まずはじめに、httpd-vhostsファイルに余分な仮想ホストがないことを確認してください。私は次のような簡単な規則を意味します:1プロジェクト= 1設定ファイル内の1仮想ホスト。そうしないと、ポートを変更してもエラーが発生します。
Windowsユーザーのための最良の解決策は、次のとおりです。
taskkill /pid PID
を実行します(代わりに、PIDはnetstatから見つけたpidを使用します)。私は同じ問題を抱えていました(Windows 8.1の上で)、私が最初にしたようにC:\
の代わりにC:\somefolder
に展開することによってそれを直しました。たとえば、コントロールパネルへのパスは、C:\xampp\xampp-control.exe
になります。
さて、ポート80、Skypeの責任はありません。私の問題は確かに非常に単純(そして愚か)でした。 DocumentRootディレクティブに指定したパスの後に余分な円記号(¥)がありました。アヒルスープのようになった。
私のindex.phpは "D:\ website\dummy"というパスにあり、私のhttpd.confはこのようになっていました:
<VirtualHost 127.0.0.2:80>
ServerName dummy.local
DocumentRoot "D:\websites\dummy\" #mistake here
</VirtualHost>
<Directory "D:\websites\dummy\"> #mistake here
Require all granted
</Directory>
それで、この2行をこのように変更してください。
#first mistake fix:
DocumentRoot "D:\websites\dummy"
#second (similar) mistake fix:
<Directory "D:\websites\dummy">
...そして今、すべて問題ありません。今後このような間違いを防ぐには、自分で入力するのではなく、参照したいフォルダのパスを必ずコピーしてください。
最善の解決策
xAMPPコントロールパネルを開き、Apacheの設定をクリックしてから、テキストエディタでApache(httpd.config).nowをクリックします。 ctrl + f - >「Listen 80」を見つけて、引用符なしの「Listen 8079」に置き換えます:) 。ただし、このように使用する必要があります http:// localhost:8079/
P.S、私は私がwindows 10、cmd - > net stop http、および他の方法で見つけることができなかったWeb配置エージェントサービスを停止して、skypeのポート設定を変更しようとしましたが、これ以外には何も働きません。
私にとっては、この問題は私が自分のWindows 8コンピュータでVPN接続をホストしたときに始まりました。
接続を"コントロールパネル\ネットワークとインターネット\ネットワーク接続"から削除するだけで問題が解決しました。
これは私のために働きました...
あなたが窓を使っているなら...
Windowsの検索バーで「cmd」を検索してください。
これを入力してください:C:\xampp\Apache\bin\httpd.exe
どのファイルとどの行でエラーが発生したかを調べます。
例えば、私の下のファイルの37行目にあります。
httpd-multilang-errordoc.conf
コードを開き、行を削除するか修正してエラーを修正します。
完了しました。私は今働くべきです。
:)
上記のようにポートを変更しても問題が解決しない場合、およびおそらくファイルのディレクトリ構造で問題が解決した場合(たとえば、インストール後にフォルダの名前を変更した場合)、これを試すことができます。
たとえば、私の場合は、XAMPPのメインインストールフォルダ名をXamからXamppに変更しました。
エディタでこれを変更します。
Define SRVROOT "G:/Xam/Apache"
ServerRoot "G:/Xam/Apache"
DocumentRoot "G:/Xam/htdocs"
<Directory "G:/Xam/htdocs">
に
Define SRVROOT "G:/Xampp/Apache"
ServerRoot "G:/Xampp/Apache"
DocumentRoot "G:/Xampps/htdocs"
<Directory "G:/Xampps/htdocs">
このようなインスタンスは他にもたくさんありますが、それらをすべて見つけて置き換えてください。
Apache(httpd-ssl.conf)についても同じことを行います。
たぶん、あなたは別の走っている "mysqld"プロセスをそれを殺して、そしてあなたがエラーを得ないxampp MySQLを再実行することを持っている。
私は上記と同じエラーを受け取りました、そして私のためにそれを引き起こしたのは私がこのように<Directory>
タグの内側にコメントを入れたというファイル 'httpd-vhosts.conf'です...
<Directory "*PATH TO MY FOLDER*...">
AllowOverride All
Require all Granted ## This directive could/should be set to denied.
</Directory>
コメントを削除すると、Apacheが起動しました。私はコメントをそれ自身の行に置くべきだったと思います。私はちょうど他のWebコードのように、それはそこにあり得ると思った。
同じエラーです。間違ったバージョンのzend xdebugエクステンションがロードされていました。 xdebugウィザード はTS(Thread Safe)バージョンを使用するように(つまり-NTS-
なしで)言っていましたが、どうやら間違ったNonThread Safeバージョンをダウンロードしたようです。パスとファイル名はphp.iniファイルで正確でしたが、それでもエラーが発生していました。別のバージョンをダウンロードして再度php.iniを更新したところ、すべてうまくいきました。
php_xdebug-2.7.0-7.3-vc15-nts-x86_64.dll
からエラーが発生しましたが、php_xdebug-2.7.0-7.3-vc15-x86_64.dll
を使用してもエラーはありません
私は@ user2314737のアドバイスに従い(彼の answer は1ページにあります)、xamppの再起動後に私のインストールパスはスペース "")は許可されていません。
私のパスはD:\ Program files(x86)\ xampp \だったので、私はそれをD:\ xampp \に再インストールし、それからそれはうまくいった。
解決策はxamppをアンインストールして再インストールすることです。それは仕事になります
通常、アクセスしようとしているデフォルトポート80
xampp
が別のアプリケーションによって使用されているため、xampp
ポートエラーが発生します。ほとんどの場合、このアプリケーションはSkypeです。
したがって、この問題を解決するには2つの方法があります。
これらの方法はこの記事で詳しく説明されています xampp port 80エラーをデバッグする方法
Windows 8.1上の5.6.8から最新の5.6.12をインストールすることは私のために働きました。
私の場合は、localhostがネットワーク上の他のコンピュータからアクセス可能になるようにhttp.confファイルを編集し、ネットワークアダプタに静的IPを設定しませんでした。私はまたnetstatをチェックし、誰もポート80を使っていないのを見ました。
だから私はcmdを開いてタイプした
ipconfig
私もhttp.confを開き、 "Listen 80"を検索しました(CTRL + F)。その上の行は、コメント化されていなければ、localhostにネットワーク経由でアクセスできるようにします。これは次のようになります。Listen 192.168.93.3:80
ipconfigコマンドの結果を比較すると、私の現在のIPアドレスはhttp.confファイルのものと同じではないことがわかりました。だから私は現在自分に割り当てられているものとhttp.confファイルのIPアドレスを変更し、それがうまくいった。
私の場合、ポートはWindows IISサービスですでに使用されていました。ポートがすでに使用されているかどうかをcmdから確認できます。 cmdを開き、次のコマンドを実行します。
netstat -ano
IISで使用されている場合は、次のコマンドで停止できます。管理者としてcmdを開き、次に:
iisreset /stop
XAMPPを実行してみてください。動作するはずです。
私もこの問題を抱えていて解決しましたが、私の場合は違いました。
最初に私はスカイプをアンインストールしようとしましたが、それはうまくいきませんでした。しかし、私のwindows 10デスクトップでは、私はデフォルトでポート80を指していたIIS(Internet Information Server)をインストールしていました。
私がしたのは、ポート番号を8081に変更してXAMPPを再起動したことだけです。
しかし、私はIISを使用していませんでした。
これは へのリンクです。https://support.Microsoft.com/ja-jp/help/149605/how-to-change-the-tcp-port-for-iis-services
Xampp v3.2.2 [win 10 pro x64]でこのエラーが発生しました。
最初にadmin cmdで "net stop http"コマンドを実行しようとしましたが、問題が解決しなかったので、 "netstat -abno"コマンドを試してみたところ、sslポート(443)があることがわかりました。 VMwareで使用してください。
だから私のアドバイスは、単にポート80をブロックしているものを探すのではなく、ポート443を使う可能性のあるプログラムを探すのでもない。私のデフォルトのポート番号を8081と4433に変えるのは嫌だから。
だから、これはあなたがこの問題を解決することができる方法です...
まず以下のコマンドを入力します
net stop http
それでもまだ動作しない場合は、Apacheを起動してみてください。次のコマンドを入力してください
netstat -abno
そして、あなたは間違いなくあなたの貴重なポートを使い果たしているその面倒なアプリを手に入れるでしょう。
pIDをコピーしてから、次のコマンドを使用します。
taskkill /f /pid PID
pIDはコピーしたPIDです。
うまくいけば、これは誰かに役立ちます。