22

我正在使用 XAMPPS 从我的机器托管 PHP 文件。我最近安装了 XAMPP,但我无法启动 Apache 服务,因为 PID 4 - NT Kernel & System 正在使用端口 80。

我知道通过使用不同的端口(例如 httpd.conf 中的端口 8080 等更改)可以解决此问题。但是我需要 PID 4 进程释放端口 80 并分配给 Apache 服务。我过去曾这样做过,但随着时间的推移忘记了解决步骤。请帮我修复它

这是我在启动 Apache 时遇到的错误

`11:19:52 AM  [Apache]  Error: Apache shutdown unexpectedly.`
`11:19:52 AM  [Apache]  This may be due to a blocked port, missing dependencies,` 
`11:19:52 AM  [Apache]  improper privileges, a crash, or a shutdown by another method.`
`11:19:52 AM  [Apache]  Press the Logs button to view error logs and check`
`11:19:52 AM  [Apache]  the Windows Event Viewer for more clues`
`11:19:52 AM  [Apache]  If you need more help, copy and post this`
`11:19:52 AM  [Apache]  entire log window on the forums`

来自 apache 错误日志文件的日志:

[Wed Jul 03 00:54:17.004882 2013] [mpm_winnt:notice] [pid 248:tid 240] AH00354: Child: Starting 150 worker threads.
[Wed Jul 03 01:17:37.485351 2013] [mpm_winnt:notice] [pid 4200:tid 228] AH00428:    Parent: child process 248 exited with status 1073807364 -- Restarting.
[Wed Jul 03 08:51:45.875976 2013] [ssl:warn] [pid 400:tid 228] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
[Wed Jul 03 08:51:46.188476 2013] [core:warn] [pid 400:tid 228] AH00098: pid file C:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Wed Jul 03 08:51:46.844726 2013] [ssl:warn] [pid 400:tid 228] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
[Wed Jul 03 08:51:49.047851 2013] [mpm_winnt:notice] [pid 400:tid 228] AH00455: Apache/2.4.4 (Win32) OpenSSL/0.9.8y PHP/5.4.16 configured -- resuming normal operations
[Wed Jul 03 08:51:49.047851 2013] [mpm_winnt:notice] [pid 400:tid 228] AH00456: Server built: Feb 23 2013 13:07:34
[Wed Jul 03 08:51:49.047851 2013] [core:notice] [pid 400:tid 228] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache
[Wed Jul 03 08:51:49.063476 2013] [mpm_winnt:notice] [pid 400:tid 228] AH00418: Parent: Created child process 5384
[Wed Jul 03 08:51:50.579101 2013] [ssl:warn] [pid 5384:tid 240] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
[Wed Jul 03 08:51:51.579101 2013] [ssl:warn] [pid 5384:tid 240] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name
[Wed Jul 03 08:51:51.750976 2013] [mpm_winnt:notice] [pid 5384:tid 240] AH00354: Child: Starting 150 worker threads.

注意:我没有 IIS、Web 客户端、全球 Web 服务。

4

17 回答 17

86

在您的 XAMPP 控制面板上,在 apache 旁边,选择“配置”选项并选择第一个文件 (httpd.conf):

在那里,查找“listen”行(您可以使用记事本中的查找工具),并且必须有一行说明“Listen 80”。注意:还有其他带有“listen”的行,但它们应该被注释(以#开头),您需要更改的那一行是“listen 80”。现在将其更改为“听 1337”。

现在启动apache。

如果错误仍然存​​在,那是因为有另一个端口已在使用中。因此,再次选择配置选项(在 xampp 控制面板中的 apache 旁边),这次选择第二个选项(httpd-ssl.conf):

在那里,查找“Listen 443”行并将其更改为“Listen 7331”。

启动apache,它现在应该可以工作了。

于 2013-08-12T15:38:44.980 回答
8

如果您使用的是最新的 Skype,请访问:

工具 -> 选项 -> 高级 -> 连接。

禁用“使用端口 80 和 443 进行替代。”
注销并关闭所有 Skype 窗口。再次尝试重新启动 Apache。

于 2014-01-18T17:54:26.240 回答
5

遵循这些:

  1. 打开你的xampp控制面板然后点击它的“配置”
  2. 选择“Apache (httpd.conf)”并在下面找到此代码并将其更改为以下代码:

    # Change this to Listen on specific IP addresses as shown below to 
    # prevent Apache from glomming onto all bound IP addresses.
    #
    #Listen 0.0.0.0:80
    #Listen [::]:80
    Listen 80
    #
    # Dynamic Shared Object (DSO) Support
    
  3. 保存它(ctrl + s)

  4. 之后,返回 xampp 控制面板并再次单击其配置

  5. 选择“Apache (httpd-ssl.conf)”在下面找到此代码并再次更改:

    # Note: Configurations that use IPv6 but not IPv4-mapped addresses need two
    #       Listen directives: "Listen [::]:443" and "Listen 0.0.0.0:443"
    #
    #Listen 0.0.0.0:443
    #Listen [::]:443
    Listen 443
    
  6. 保存它(ctrl + s)

  7. 然后,单击“配置”(注意:在 netstat 上方)并单击“服务和端口设置”​​,然后将其保存。

  8. 最后,转到“控制面板”->“程序和功能”->“打开或关闭 Windows”。

  9. 取消选中“Internet 信息服务”,然后单击“确定”。

只需等待它,您的计算机/笔记本电脑将自动重新启动并尝试再次打开您的 xampp 控制面板,然后启动您的 Apache。

于 2013-08-22T13:18:13.160 回答
5

您应该首先在 XAMP 文件夹中运行文件setup_xampp.bat

于 2014-02-07T02:33:50.913 回答
4

在 XAMPP 控制面板上,在 apache 旁边,选择“Config”选项并选择第一个文件 (httpd.conf):

在那里,查找“listen”行(您可以使用记事本中的查找工具),并且必须有一行说明“Listen 80”。注意:还有其他带有“listen”的行,但它们应该被注释(以#开头),您需要更改的那一行是“listen 80”。现在将其更改为“听 1337”。

现在启动apache。

如果错误仍然存​​在,那是因为有另一个端口已在使用中。因此,再次选择配置选项(在 xampp 控制面板中的 apache 旁边),这次选择第二个选项(httpd-ssl.conf):

在那里,查找“Listen 443”行并将其更改为“Listen 7331”。

启动apache,它现在应该可以工作了。

于 2015-03-03T11:32:12.907 回答
4

这意味着端口 80 已被另一个端口使用。

只需按照以下步骤操作:

  1. 打开窗口 -> 点击运行(win + R) -> 输入services.msc
  2. 转到IIS Admin -> 右键单击​​它并单击停止选项。
  3. 打开XAMPP点击 Apache Module 的 Start Action,Apache Module 运行。

或者

要在命令提示符中查找 Apache 的端口(80),只需键入netstat -aon它会在 Windows 上显示当前使用的端口,在Local Address 列下显示为0.0.0.0:80。如果它显示此端口,则另一个连接已使用此端口号。

Windows XP 中的活动连接:

Windows XP 中的活动连接

我在安装xampp-win32-1.6.5-installer后解决了我的问题,之前我使用的是 xampp 版本xampp-win32-1.8.2-0-VC9-installer,当时我收到了这个错误。现在它解决了我的问题。

于 2013-07-24T05:31:42.177 回答
3

在我的情况下,我已将htdocs移动到httpd.conf中更新的新位置,效果很好。然后我在更新httpd-vhost.conf文件后收到了同样的错误。

我发现该错误是由 vhost 配置文件中的拼写错误引起的。以前我将所有“DocumentRoot”更改为新的htdocs位置,但忘记更新“ErrorLog”的新位置。纠正丢失的路径后,Apache 再次运行顺畅。

于 2014-01-23T20:24:19.267 回答
3

我有一个类似的问题(这就是我来这个线程的原因),它源于 httpd-vhosts.conf 中的错字

而不是<VirtualHost domain-name:80> 我不小心写(通过复制粘贴)为<domain-name *:80>

于 2013-12-05T11:27:03.940 回答
2

由于系统中安装了Skype,可能会出现此问题。Skype 和 apache 服务总是冲突。确保在启动 xampp 之前未启动您的 Skype。

于 2014-01-10T20:42:14.193 回答
2

Multi-Processing Module您的 XAMPP 在mpm处重新启动并出现以下错误

 [mpm_winnt:notice] [pid 4200:tid 228] AH00428:    
`Parent: child process 248 exited with status 1073807364 -- Restarting.`

在 xampp 的httpd.conf文件中添加以下内容以解决此问题。

<IfModule mpm_winnt_module>
  ThreadStackSize 8388608
</IfModule>
于 2016-08-30T23:59:55.717 回答
1

那是因为 IIS 会自动在您的计算机上运行。IIS 占用了 80 和 443 端口。

我卸载了 IIS 以使用 Apache httpd。

于 2013-11-15T12:49:44.213 回答
1

您可以在 Skype 设置 - 高级设置 - 连接中禁用端口 80 和 443 作为备用传入连接。

禁用备用传入连接
(来源:ctrlv.in

于 2014-01-20T14:19:13.573 回答
1

我认为错误就在这里

[pid 5384:tid 240] AH01909: RSA certificate configured for www.example.com:443 does NOT include an ID which matches the server name

或者有另一个应用程序正在使用端口 80 尝试重新启动计算机并只打开 apache 看看会发生什么

或尝试重新安装 apache 或使用 Ampps

于 2013-07-03T06:03:17.947 回答
0

停止 IIS 服务。它应该工作

于 2013-12-27T19:39:19.073 回答
0

只需将端口 80 更改为 8080(在 httpd.conf 中),将端口 443 更改为 4433(在 httpd-ssl.conf 中)

于 2014-04-08T15:33:36.783 回答
0

安装软件后我关闭计算机并重新启动,这解决了我的问题。

于 2015-06-21T03:32:29.857 回答
0

我在安装 XAMPP 时也遇到了同样的问题。原因是 httpd.conf 中配置的端口 80 已在其他应用程序中使用(例如,在 Skype 中)。您可以将 httpd.conf 中的端口值更改为 8080 或其他数字。单击配置图标并打开 http.conf 文件。搜索 80 并执行以下步骤

在 httpd.conf 中将
Listen 80 更改为 Listen 8080
并将
ServerName localhost:80 更改为
ServerName localhost:8080

您可以通过单击 XAMPP 控制面板中的 netstatt 图标来检查当前使用的端口

于 2015-10-07T17:41:00.173 回答