web-dev-qa-db-ja.com

XAMPP - ポート4がPID 4の "Unable to open process"によって使用されています。 12年

私は2日間この問題を解決する方法を見つけようとしています。私はこの種のことに慣れていないので、誰かがそれを修正する方法を私に言うことができれば私はそれをいただければ幸いです。

私はskypeを削除しようとしましたが、それはうまくいきませんでした、私はワールドワイドウェブの事をオフにしようとしました、IIS何もうまくいかないようです。

12:51:22 PM  [Apache]   Problem detected!
12:51:22 PM  [Apache]   Port 80 in use by "Unable to open process" with PID 4!
12:51:22 PM  [Apache]   Apache WILL NOT start without the configured ports free!
12:51:22 PM  [Apache]   You need to uninstall/disable/reconfigure the blocking application
12:51:22 PM  [Apache]   or reconfigure Apache and the Control Panel to listen on a different port
167
user3097839
  1. 管理者としてCMDプロンプトを開き、次のコマンドを実行します。

    net stop was /y
    
  2. [実行]ダイアログボックスを開きます( Win+R)、次に入力します:services.msc

    次に、World Wide Web発行サービス(WWW発行サービス)およびWeb配置エージェントサービスを検索し、それらを停止します。また無効にする必要があります。

  3. XAMPP :)でApacheをもう一度起動してください。

リンク参照: https://www.sitepoint.com/unblock-port-80-on-windows-run-Apache/

323
Vo Quoc Cuong

もう1つの非常に簡単なオプションは、単にApacheが別のポートで待機するように設定することです。これは、 "Apache"モジュールと同じ行にある "Config"ボタンをクリックして、ドロップダウンから "httpd.conf"ファイルを選択し、 "Listen 80"の行を "Listen 8080"に変更することで行えます。ファイルを保存して閉じます。

現在では、ポート80を回避し、代わりにポート8080を問題なく使用しています。あなたがする必要がある唯一の追加のことはブラウザがポート8080を見ることを知っているようにブラウザにlocalhost:8080を入れることを確実にすることです。

変更を有効にするには、Apacheを再起動する必要があります。

ほら!一定。

133
gtr1971

Httpd.confで次の行を変更してからアプリケーションを再起動します。

  • Listen 80からListen 8080
  • ServerName localhost:80からServerName localhost:8080

「Start」を押しても、「Port 80を使用できません」という「ポート80を使用しています」というエラーがアプリケーションに表示されますが、それでも機能します。

エラーに「ポート443が使用中でプロセスを開けません」というPIDが含まれている場合、httpd.confとhttpd-ssl.confの両方を変更する必要があります。

Httpd-ssl.confで次のように変更します。

  • Listen 443からListen 4433
  • <VirtualHost _default_:443>から<VirtualHost _default_:4433>
  • ServerName www.example.com:443からServerName www.example.com:4433
41
Ogglas

これから抜粋 記事

  1. 実行コマンドに移動して、次のように入力します。

    netstat -o -n -a | findstr 0.0:80

最後の番号はそれを使用しているプロセスIDです。これはほとんどの場合IISまたは他のWeb関連のサービスで解決も簡単ですが、非常に頻繁に(Googleで見回されているように見えることも多い)PID 4に見えます - WindowsタスクによるとマネージャはNTカーネルとシステムです。これを殺したことを考えると、あまり役に立たない。死のブルースクリーンになるだろう。

ポート80を占有しているのはIISやWebに関係がないこと、SQL Server Reporting Servicesです。 SQL Serverサービスに似たものをすべてオフにして、Apacheを再起動します。再起動する必要はありません。

それでは、PID 4がポート80をリッスンするのに問題がありますか? SQLサービスを確認して無効にします。

_ update _ - @sangamからのコメント:

一瞬で働いた。私の場合は、SQLサーバーのレポートサービスであることがわかりました。インストールされているすべてのインスタンスに対してサービスを停止しましたが、(マシンを再起動することなく)機能しました。

35
chridam

そのため、Apacheサービスを開始しようとしたときにも同じ問題に直面しました。私の解決策をあなたと共有したいと思います。以下は、ポート80を使用する可能性のあるサービスまたはプログラムに関する注意事項です。

  1. Skype :Skypeはデフォルトでポート80/443を使用します。これをTools -> Options -> Advanced -> Connectionsから変更してチェックボックス "追加の着信接続にポート80と443を使用する" /を無効にすることができます。

  2. _ iis _ :IISはデフォルトでポート80を使用するので、シャットダウンする必要があります。次の2つのコマンドを使用することができます:net stop w3svcnet stop iisadmin

  3. SQL Server Reporting Service :IISが実行されていない場合はポート80がかかる可能性があるため、このサービスを停止する必要があります。地元のサービスに行き、それを止めなさい。

  4. VMware Workstation :VMware Workstationを実行している場合は、VMware Workstationサーバー(ポート443)も停止する必要があります。

これらのオプションは私と一緒に素晴らしい仕事をし、私はエラーなしでApacheサービスを開始することができます。

他のオプションは httpd.conf からApacheのリスンポートを変更して別のポート番号を設定することです。

この問題がまた同じ問題に直面している人に役立つことを願っています。

33
Peter T.

「Web配置エージェントサービス」を停止する必要があります。

Win + Rを押して services.msc と入力します。

Web配置エージェントサービスを右クリックして「停止」を選択します。

XAMPPを再起動します

また、「Web配置エージェントサービス」をダブルクリックした後、「スタートアップの種類」を「手動」にすることで、「Web配置エージェントサービス」が自動的に起動しないようにすることもできます。

32
Stephen Burrows
  1. タスクマネージャを開きます(Ctrl + Alt + Delete)。
  2. [詳細]タブに進みます。
  3. PID番号で並べ替えます。
  4. エラーで示されたPID番号を使用しているプロセスを終了します。
  5. XAMPPを再起動してください。
6
wildebeest

質問について@johnkarkaによるコメントがあるので、このポートはSQL Serverレポートサービスによっても使用されます。これを止めた後、Apacheは問題なく起動しました。

  1. 「SQL Server構成マネージャ」に進みます。
  2. 「SQL Server Reporting Service」をクリックして停止します

enter image description here

面白いことに、IISは同じ設定ではうまくいっていましたが、Apacheではなく、デフォルトのポート(80)で動くようにするためにSQL Reporting serviceを止めなければなりませんでした。

4
Hammad Khan

私にとってうまくいったのは、インターネットインフォメーションサービス(IIS)を停止することでした。 Windows 7を使用している場合は、スタートボタンをクリックし、検索ボックスに「iis」と入力します。 「インターネットインフォメーションサービス(IIS)マネージャ」をクリックしてください。ウィンドウがポップアップ表示されたら、アイコンが選択されていないと仮定すると、右側の操作ウィンドウで[停止]をクリックできるはずです。私のXAMPP Apacheが正しく起動しました。すべてうまくいったことを願っています。

4
G.P. Greenleaf

Windows 10では、ポート80を解放するには

私の場合は、「Search Windows」から「Services」を開き(画面の左隅)、すべてのSQL ServerサービスMSSQLSERVERを停止します。

3
N.P

私は同じ問題を抱えていましたが、私の場合、Apacheはすでに実行されていたため、XAMPP設定ツールではそれが表示されませんでした。インストール後に初めてXAMPPを起動した後に発生しました。他のApacheインスタンスをクラッシュさせた後、すべてうまくいっていて、ポート80と443は再び空いていました。

ですから、あなたのシステムに変更を加える前に、上記のような明白なことが起こらないことを確認してください。

2
magnetronnie

私もこの問題を抱えていて、ポート80を使ってサービスを停止しても役に立ちませんでした。私はこの手順に従うことでそれを解決しました( フレンチボード にあります):

  1. RegEditを起動
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
  3. "start"の値を4(無効)に変更します
  4. コンピュータを再起動します

これが他のサービスにどのような影響を与えるかはわかりませんが、問題を永続的に解決したため、今のところ問題はありませんでした。

Windows 10を使用する。

2
vard

SQLServer Reporting Servicesをローカルで実行している場合は、それも停止する必要があります。

2
Senthil

「SQL Server Reporting Service」が私のシステムで問題を引き起こしていました、それを停止した後、Apacheは問題なく動作し始めました

2
yadavr

私は同じ問題を抱えている、私はただ無効になっている、問題を解決した

"BranchCacheサービス" サービス内。

どういうわけか、ウィンドウズのアップデート、このサービスは起動時に引き起こされ、80のポートを使います。 netstatで確認すると、システムがこれを使用しているのがわかりますが、どのサービスが使用されているのかわかりません。

1

Xamppコントロールパネルでサービスをクリックします(ファイル名はservices.msc、追加情報)。

まず、IISが起動しているか調べます。停止します(サービス名をクリックした後、左側のこのサービスオプションを停止します)。次に、これが主な問題です。Web配置サービスを探します(最初にWeb配置がありますが正確な名前ではありません)。このサービスもやめてください。もう一度やり直すと、Apacheは動作するはずです。

Skypeを実行している場合は、それも終了し、Apacheを実行してから、Skypeを起動してください。

1
ytpillai

ASP.NET、C#、またはSQL Serverユーザーをお持ちの方、SQlServerを使用している場合OR Visual Studioあなたの移植版に出会うかもしれません。あなたがしたいと思うかもしれない最も簡単なことはCommand> servies.mscでそれからSQl Server Reporting Serviceを見つけてそれを停止することです。

1
Sumanstm21

私はMS WebMatrixをインストールしたときに同じ問題を抱えていました、IISサーバーはXAMPPが実行されていたポート80をブロックされました。 World Wide Web発行サービスを見つけて停止しようとしましたが、リストに見つかりませんでした。最善の方法は、ポートを変更することです。

これで参照してください
リンクの参照。

1
wobbuffet

XAMPP - ポート4がPID 4の「Unable to open process」によって使用されています。 12

cmd tasklistでコメントを実行する

そして、どのPIDとプロセス名がこの今開いているウィンドウタスクマネージャに関連しているか見つけます

ctrl + Alt + Delキーを使用してウィンドウタスクマネージャを開くこともできます。

今プロセスタブをクリックし、PIDを使用してそれを右クリックしてプロセスを終了する名前を見つける

もう一度xamppを再起動します

0

Web配置エージェントサービスはWebMatrixと共に配置され、私の苦痛の原因でした。 MicrosoftのWeb Platform Installerを使用してインストールされた他のアプリケーションと一緒に配布されることもあります。

アンインストールすると問題が解決しました。

0
brunodotcom

私は同じ問題を抱えていました。グーグルがこのページにたどり着いた後。このエラーにはさまざまな理由があると思いますので、私の経験に耳を傾けてください。

Xamppレッドラインログ:

12:53:54 PM  [Apache] Problem detected!
12:53:54 PM  [Apache]   Port 443 in use by "Unable to open process" with PID 3908!
...

最後に、私は自分のphpコードに次のコード行があることがわかりました。

$res = file_get_contents("http://$_SERVER[HTTP_Host]$_SERVER[REQUEST_URI]");

このコードの目的は、私のサーバーのどこかからphpの結果のミラーを取得することでした。しかし、それはただそれ自身のコンテンツを取得するループに詰まっています!

私はコードを修復しました:

$res = file_get_contents(str_replace("my_uri.php" , "mirror_uri.php" , "http://$_SERVER[HTTP_Host]$_SERVER[REQUEST_URI]"));

それから私はApacheを再起動しました...そしてそのApacheエラーは二度と起こりませんでした。

そのため、可能性の高い コード内の停止点を検索すること が良い方法です。

0
Hossein Khalesi

サービスがhttp.sysの場合

Http.sysのバインドされたIPアドレスを変更する必要があります。

netsh http add iplisten ipaddress = ::

OSを再起動せずに正常に動作します。

0

私のために通常動作します: - Skypeをオフにします - services.mscに表示されるすべてのSQL Serverプロセスをオフにします - services.mscでWorld Wide Web発行をオフにします

0
Iwona Kubowicz

通常、[IIS Server and Skypeを停止しても機能します。

0
N A