【问题标题】:XAMPP: Couldn't start Apache (Windows 10)XAMPP:无法启动 Apache (Windows 10)
【发布时间】:2015-02-04 15:29:03
【问题描述】:

我正在使用 XAMPP,我可以启动 Apache,但是,MySQL (phpMyAdmin) 启动!

当我开始时,我得到了这个错误;

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

我在上面搜索,然后在配置 -> 服务和端口设置中更改 Apache 的端口。我有;

Service name: Apache 2.4
Main port: 122
SSL port: 444

我还卸载了 Skype(Windows 8/10/Metro 版本)。没有任何工作。在我的 httpd.conf 文件中;

Listen 122
ServerName localhost:122

我通过apache_start.bat 启动它并获取;

(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address [::]:445
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:445
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

请注意,所有日志文件都不存在! Skype 已卸载。

【问题讨论】:

  • 检查端口是否被阻塞?
  • 尝试以管理员身份运行
  • 您在尝试启用 apache 时是否在运行 Skype?如果是这样,请更改 Skype 设置。
  • 您不能拥有localhost:80 并监听端口122。选择要监听的端口。
  • 好的,我做了一些修改:@Rizier123 -> 我检查了但我不确定这是否是好方法。 @Will-Campbell -> 是的,但仅此而已。 @iSaumya -> Skype 不在我的电脑上。 @Lorenz-Meyer -> 我现在有 Listen 122ServerName localhost:122

标签: php apache xampp


【解决方案1】:

玩完之后,你真正要做的就是在 httpd.conf 文件中更改两行:

“Listen 80” 更改为 “Listen 122”(或任何你想要的)

"ServerName Localhost:80""Localhost:122"(或您在上面更改的端口)

那么一切都应该立即启动:P

【讨论】:

    【解决方案2】:

    更新:2018 年 5 月 15 日:

    最新的 Windows 10 更新(重新)激活了万维网发布服务(德语:WWW-Publishingdienst)。这可能取决于您在配置更新期间选择的选项。

    更新:2015 年 8 月 4 日:

    如果您已完成 Windows 10 的全新安装,您可能没有 万维网发布服务。在这种情况下,简单的 WAMP/XAMPP 安装应该可以正常工作。

    如果没有,请尝试安装 Visual C++ Redistributable,然后重新安装 WAMP/XAMPP。


    我在使用 WAMP 时遇到了类似的问题。在 Windows 10 TP 中,预装了 万维网发布服务。这个和IIS有关,不需要的话可以去掉。

    这会阻塞80 端口,使 Apache 行为异常。您可以执行以下操作,然后重试。

    • 转到“开始”,输入 services.msc
    • 在“服务”窗口中向下滚动以找到 万维网发布服务
    • 右键单击它并选择停止

    这应该会释放端口 80 并且重新启动 WAMP/XAMPP 应该可以让您启动并运行!

    还有其他方法可以解决此问题。请参阅Make WAMP Work On Windows 10

    【讨论】:

    • 如果我没有列出“万维网发布服务”作为服务怎么办?
    • 服务的nameW3SVC,而descriptionWorld Wide Web Publishing Service乙>。我最初认为我没有该服务,因为在按名称排序时我没有看到描述的服务。
    • 是的,我也遇到了这个问题,当我检查它时,它一直告诉我“一个 PID 为 4 的进程正在使用端口 80”,进程名称是“系统”。我一直在想,如果我尝试停止这个过程,我可能会搞砸我的电脑。但这非常有效。谢谢
    • 对于那些使用统一服务器 Z 的人(太棒了!),我可以确认这也适用于该服务器。
    • @PraveenPuglia 哼.. 有趣的评论,为我工作!我尝试删除文件“ntoskrnl.exe”是端口 4 的原因...很多谷歌搜索说病毒...停止的好服务是工作大声笑..谢谢兄弟
    【解决方案3】:

    解决这个问题很容易:

    1. 以管理员权限打开命令提示符
      • 找到“cmd”,右键单击它,然后选择“Administrator”。
    2. 在提示符中,输入net stop W3SVC 并回车。

    您现在可以单击 WAMPP 并重新启动所有服务。打开浏览器并导航到“localhost”。

    如果需要重新启动 W3SVC,

    1. 以管理员权限打开命令提示符
    2. 在提示符中,输入net start W3SVC 并回车。

    【讨论】:

    • 在 Windows 10 的已发布版本上,我收到“出现系统错误 3。访问被拒绝。”
    • 您需要是管理员。再试一次。
    • 是的,谢谢 DIAGELISJ。在 Windows 10 中,右键单击 cmd,然后单击上面的说明,然后右键单击 httpd.exe,我让 Apache 再次运行。 httpd.exe 框是黑色空白,但 Apache 可以工作。
    • 我在使用 XAMPP 的 Windows 10 上遇到了同样的问题。每次重新启动后,我都必须转到 XAMPP 控制面板并重新安装并再次启动 Apache 和 MySQL 服务。以管理员身份运行 XAMPP 控制面板似乎已经解决了,谢谢!
    • 这是正确的答案,你需要做的就是关闭IIS,然后启动xampp。控制面板 - 管理员 - Internet 信息服务 - “停止” 就是这样。易如反掌。 (和上面一样,只是通过接口。)
    【解决方案4】:
    • 转到开始菜单,然后键入打开或关闭 Windows 功能
    • 取消选中 Internet 信息服务
    • 确定

    【讨论】:

      【解决方案5】:

      我找到了解决这个问题的方法:

      1. 如果您也在使用 Skype,请取消选中声明使用端口 80 和 443 的字段(额外 -> 设置 -> 高级 -> 连接 -> 取消选中端口 80 和 443)
      2. 重启 Skype 和 XAMPP。

      如果这不起作用,

      1. 转到“开始”并键入“services.msc”
      2. 找到“万维网发布服务”
      3. 右键单击该条目,选择“停止”,然后重新启动 XAMPP。

      如果这不起作用并且“万维网发布服务”不可用,

      1. 转到控制面板,导航到“卸载程序”,然后“打开/关闭 Windows 功能”
      2. 找到“Internet 信息服务”
      3. 点击复选框并点击“确定”。
      4. 重新启动,然后重复第二种方法 (services.msc)

      【讨论】:

      • 谢谢,但已经回答了。也许它可以帮助某人(:
      • 你的回答帮不了我,我想出了自己的解决方案。无论如何谢谢:)
      • 太棒了!只是 Skype 阻止了 Apache!这个过程中我最喜欢的部分:关闭 Skype 的 80 和 443 端口后,我不得不退出 Skype。出现了一条警告说(意译)“如果你退出 Skype,你将无法使用它。”嗯,呵呵!
      【解决方案6】:
      1. Windows+R,然后输入regedit

      2. 前往

         HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP
        

        Start的值改为4,表示禁用。

      3. 重启你的电脑。

      【讨论】:

      • Windows 10“11 月升级”导致了我的问题 - 以前在旧版本的 Win 10 上都可以正常工作。我没有运行 W3svc 或 Skype。 这个解决方案成功了!谢谢@Do Nhu Vy!
      【解决方案7】:

      你可以改变Apache的端口:

      1. 转到 C:\xampp\apache\conf\httpd。
      2. 通过组合 Ctrl+F 查找 #Listen 12.34.56.78:80 并将 80 更改为您喜欢的任何值,例如 81
      3. 同理,Listen 80 改为 81
      4. 同理,ServerName localhost:80 改为 81。
      5. 转到 C:\xampp\apache\conf\extra\httpd-vhosts 并将 80 更改为 81

      NameVirtualHost *:80 这里

      VirtualHost *:80 和这里(两次)

      1. 重启 Apache

      要进入您的网页,请输入:http://localhost:81/index.html

      【讨论】:

      • 我会推荐这个
      • 更改注释行真的有意义吗? (第二步#Listen 12.34.56.78:80
      • 简单易懂,谢谢!
      【解决方案8】:

      实际上,默认情况下会安装 IIS(Microsoft、.NET 等)。

      • 转到控制面板
      • 打开或关闭 Windows 功能...
      • 在 (IIS) Internet 信息服务下,取消选中 (WWWS) 万维网服务。
      • 点击确定。

      这可能是一个永久的解决方案。 :)

      【讨论】:

        【解决方案9】:

        这个建议很棒。我有同样的问题,但我的解决方案不同,因为我太愚蠢了,我重命名了 XAMPP 所在的目录,因为我安装了很多其他程序,所以我无法重命名它。

        在我的情况下,原来的目录 C:\Programs\Xampp 并将其重命名为 C:\PROGRAMS_\Xampp,这是错误的。

        解决方案是在 C:\Programs 上找到所有引用并将它们重命名为 XAMPP 目录中的 C:\PROGRAMS_,因为在安装过程中由于某种原因它会写入绝对路径,而不是相对路径。当然,注册表中也有一些引用。

        【讨论】:

        • 这似乎是一个非常具体的案例,似乎与问题的场景并不对应。
        • 是的,我同意,但我认为这可能会对某人有所帮助,因为我面临同样的情况(有新的 windows 10)并且错误是相同的,所以也许这不是完全相同的场景,我认为有人觉得这很有帮助。
        【解决方案10】:

        我尝试了此处答案中列出的所有内容,但都没有奏效。

        然后我所做的就是通过以下方式以管理员权限重新启动 XAMPP:

        开始菜单 - 右键单击​​ XAMPP - 选择以管理员身份运行

        成功了。就是这么简单。

        我卸载了 IIS 服务,停止了 WWW 服务,将端口改回 80,阻止了来自 Windows 10 防火墙的所有 apache 和 mysql 连接,但是它仍然有效!

        【讨论】:

          【解决方案11】:

          看起来有很多选择。答案取决于您的 Windows 安装。以下是我在全新安装 Windows 10 时遇到相同问题并通过以下步骤解决问题时的经验:

          1. 安装Visual C++ Redistributable
          2. 打开 XAMPP 并在 Apache 服务中选择配置
          3. 将端口 80 更改为 9000 或 81 或在文件 httpd.conf 中的任何您想要的端口 Listen 80
          4. 更改httpd-ssl.conf上的端口,将Listen 443改为Listen 441
          5. 重新启动 XAMPP 并启动 Apache 服务。它对我有用。

          注意:我使用的是 XAMPP 5.6.15 版和 XAMPP 控制面板 3.2.2 版。

          【讨论】:

          • 很好 - 确保 http 和 https 端口不冲突
          【解决方案12】:

          只需将端口 80 用于您的 Apache 服务即可。 我解决问题的方法是:

          1. 在 Windows 10 上,右键单击开始按钮并选择 运行
          2. 输入 services.msc 并点击 OK
          3. 找到并右键单击万维网发布服务
          4. 选择属性
          5. 启动类型值更改为自动(延迟启动)
          6. 重新启动计算机。

          你有它。一切恢复正常。

          【讨论】:

            【解决方案13】:

            就我而言,这是一个删除 IIS 的简单案例,因为 Windows 10 预装了 IIS(互联网信息服务) - 这与 XAMPP 冲突,因为这两个服务器都尝试使用端口 80。如果您不想使用 IIS 并继续使用 XAMPP

            1. 在 Windows 10 中运行/搜索
            2. 搜索“可选功能”
            3. 在该列表中取消选中 Internet 信息服务 (IIS)

            然后重启

            【讨论】:

              【解决方案14】:

              这对我来说很简单!

              尝试以管理员身份运行 XAMPP 控制面板。

              【讨论】:

                【解决方案15】:

                我已经尝试了上述所有解决方案。但它没有以任何方式工作。

                最后,我只是卸载 XAMPP 并再次安装。然后它对我有用。

                现在我可以在任何端口(包括 80)上运行服务器

                【讨论】:

                  【解决方案16】:

                  我发现运行 apache_start 给了我确切的错误以及它在哪一行。

                  我的错误是我在 localhost: 和端口之间留了一个空格。

                  【讨论】:

                  • 什么是“运行 apache_start”?例如,是否缺少一个单词?
                  • 复制粘贴比打字效果更好(当然除非GNOME is used - 不惜一切代价避免GNOME)。
                  【解决方案17】:

                  我也解决了这个问题,但我不得不改变一些事情。我要求在我的 Windows 10 机器上保留我的 C# 和 Visual Studio 开发环境,所以我不想修补任何服务。我所要做的就是下载最新版本的 XAMPP 并将监听端口更改为 80 和 443。它们位于两个文件中:

                  C:\xampp\apache\conf\httpd.conf

                  Listen 122
                  ServerName localhost:122
                  

                  C:\xampp\apache\conf\extra\httpd-ssl.conf

                  Listen 444
                  

                  将上述端口从 80 更改为 122 并将 443 更改为 444 使我可以让 Apache 运行并提供页面,同时为我的 ASP.NET 开发保持其他一切相同。希望这可以帮助那里的人。最后,这是一个非常简单的修复。

                  将您的浏览器指向:http://localhost:122

                  【讨论】:

                  • 我认为这是最简单最简单的方法。非常感谢!
                  • +1 因为关闭 .NET 服务绝对不是我的选择。我当然想同时运行 IIS 和 Apache!
                  【解决方案18】:

                  World Wide Web Publishing 服务并不是我的唯一责任人。

                  我安装了 IIS,所以我不得不停止整个 HTTP 服务。

                  这些是我在 CMD 中执行的命令(作为管理员):

                  net stop W3SVC
                  net stop http
                  

                  【讨论】:

                    【解决方案19】:

                    如果你安装了SQL Server,它的一些服务可能会阻塞XAMPP需要的端口。我通过禁用 SQL Server Reporting Services 解决了我的问题,现在 Apache 启动时没有任何问题。

                    只需打开services.msc,向下滚动并找到SQL Server Reporting Services。右键单击它并单击停止

                    【讨论】:

                      【解决方案20】:

                      步骤:

                      • 打开 XAMMP 控制面板
                      • 打开Apache Config,然后选择Apache-xammp-配置文件
                      • 搜索“端口 443”,然后将其更改为其他端口,比如 4433
                      • 然后重新启动。

                      【讨论】:

                        【解决方案21】:

                        我遇到了同样的问题,但以前的解决方案导致我们更改端口而不是获得确切的解决方案。我搜索了简单 HTTP & HTTPS 协议的端口,发现了。

                        如果另一个应用程序已经在运行,本地机器上的 HTTP 或 HTTPS 端口,我们显然会遇到这个问题,因为这些端口已经在使用并且处于繁忙状态。。 p>

                        这就是为什么在更改端口号后它可以工作的原因。 但我没有更改 XAMPP 服务器中的端口,而是使用了以下方法,它对我有用。

                        这是我在此修复过程中完成的以下步骤。

                        1. 我在 XAMPP 服务器应用程序中遇到的错误。

                        2. 在右上角有一个名为 Netstat 的按钮。 这对于查找系统上正在运行的端口非常有用。

                        3. 这是 Netstat 应用程序,我发现一个应用程序已经在运行并使用端口号 443。在我的例子中,它是 vmware-hostd.exe。您可能是不同的应用程序。尝试搜索端口 80 (HTTP) 或端口 443 (HTTPS)。

                        4. 我刚刚打开了 Windows Task Manager,选择了该应用程序 vmware-hostd.exe,然后使用 结束进程 按钮终止了该进程。我已经杀死了使用端口 443 的进程。目前不需要此应用程序。

                        5. 在 Windows 任务管理器中杀死应用程序后,Apache 现在可用。这是证据。


                        注意: *如果您发现任何类型的应用程序使用 HTTPHTTPS 端口表示端口 80 或端口 443 并且应用程序不重要或不重要,则只杀死该应用程序的进程。

                        否则,无需执行这些步骤。然后您需要考虑更改 XAMPP 应用程序的端口,如前面的答案中所述。*

                        【讨论】:

                          【解决方案22】:

                          检查您的 PHP 安装是否有效。

                          检查你在Apache的配置中运行的是哪个php.ini文件,并用它来运行php.exe...

                          【讨论】:

                            【解决方案23】:

                            您可能刚刚将您的 Windows 更新到版本 1903 (OS Build:18362.239) 更改了用户密码。 尽管消除了所有端口冲突,我仍然不断收到 OP 在本文开头描述的消息。

                            最后我通过将 XAMPP 升级到 7.3.7 来解决它。 (强制重装的时候还不如同时升级!)

                            但是当我再次去更改'root'用户密码时,问题再次出现。

                            控制台错误消息掩盖了表 mysql.user 已损坏的事实。

                            检查文件 mysql_error.log。如果您看到 致命错误:无法打开和锁定特权表:表“用户”的索引已损坏;尝试修复它,然后看看this

                            【讨论】:

                              【解决方案24】:

                              我遇到了同样的问题,我通过卸载 WAMP 服务器解决了它。

                              【讨论】:

                                【解决方案25】:

                                更改系统中可用端口的端口号通过以下方式

                                1.首先打开 Apache “httpd.conf” 文件:

                                #Listen 12.34.56.78:80
                                Listen 80
                                ServerName localhost:80
                                

                                #Listen 12.34.56.78:8080
                                Listen 8080
                                ServerName localhost:8080
                                

                                2。打开 httpd-ssl.conf:

                                Listen 443
                                <VirtualHost _default_:443>
                                

                                Listen 441
                                <VirtualHost _default_:441>
                                

                                3.跟着诀窍。现在“启动”Apache,如果一切顺利,您的 Apache 服务器应该会启动。

                                【讨论】:

                                • thx ,为我工作,但现在我无法启动那个 sql server ;),但是 thx
                                猜你喜欢
                                • 2016-06-20
                                • 2021-07-12
                                • 2012-11-29
                                • 2018-02-28
                                • 1970-01-01
                                • 2020-10-08
                                • 2020-10-18
                                • 2018-06-18
                                • 2015-11-03
                                相关资源
                                最近更新 更多