Wamp64 服务器的问题

Issues with Wamp64 Server

所以直到昨天的 Windows 更新,我才能够 运行 Wamp64 服务器顺利进行。但是,今天它给出了“1 of 2 services 运行ning”消息。

调查表明 MySQL 8.0.14 是 运行ning,但 Apache 2.4.23 不是。

这是我到目前为止尝试过的方法:

[Fri Aug 02 18:30:25.703267 2019] [core:warn] [pid 1376:tid 620] AH00098: pid file D:/wamp64/bin/apache/apache2.4.23/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Fri Aug 02 18:30:25.711267 2019] [auth_digest:notice] [pid 1376:tid 620] AH01757: generating secret for digest authentication ...
[Thu Aug 01 18:33:16.532470 2019] [mpm_winnt:notice] [pid 22072:tid 660] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Thu Aug 01 18:33:18.849146 2019] [mpm_winnt:notice] [pid 28536:tid 588] AH00364: Child: All worker threads have exited.
[Thu Aug 01 18:33:24.784874 2019] [mpm_winnt:notice] [pid 22072:tid 660] AH00430: Parent: Child process 28536 exited successfully.
apacha2.4.23\bin\httpd.exe -k install
apacha2.4.23\bin\httpd.exe -k start
apacha2.4.23\bin\httpd.exe -k wampapache64 -k start
apacha2.4.23\bin\httpd.exe -e warn

肯定会启动服务,但会立即给出有关未正确关闭的错误。

任何建议将不胜感激,我通过 Wamp 安装了一个大型本地 wiki,我真的不想失去对它的访问权限。

其他信息

谢谢!

编辑 1:

此处建议的是问题开始当天的错误消息:

还有今天的一张:

编辑 2:

所以关于下面的一个很好的答案,我做了以下(不幸的是仍然注意到工作,但这感觉像是进步):

我运行以下没有错误:

.\wamp64\bin\apache\apache2.4.23\bin\httpd.exe -k wampapache64 -k start
.\wamp64\bin\apache\apacha2.4.23\bin\httpd.exe -e warn

下一个我运行:

.\wamp64\bin\apache\apache2.4.23\bin\httpd.exe -k stop
The 'Apache2.4' service is not started.

.\wamp64\bin\apache\apache2.4.23\bin\httpd.exe -k uninstall
Removing the 'Apache2.4' service
The 'Apache2.4' service has been removed successfully.

然后我重新启动了电脑。

之后,我从 http://wampserver.aviatechno.net/#vcpackages 下载了 Checks VC++ packages installed 文件 (check_vcredist)。 运行 它注意到 Visual C++ 2015-2019 x86 最小运行时 - 14.22.27821 和 Visual C++ 2015-2019 x64 最小运行时 - 14.22.27821 没有安装,所以我从同一个 URL ( VC 2015-2019 (VC16 x86) 14.22.27821 和 VC 2015-2019 (VC16 x64) 12.22.27821).

然后我再次重新启动我的 PC 和 运行 WAMP64,不幸的是它仍然给出 1 of 2 services running 错误。

但是,我仍然在日志文件中遇到类似的错误 (apache_error.log):

Starting the 'Apache2.4' service
The 'Apache2.4' service is running.
ore:warn] [pid 12936:tid 548] AH00098: pid file D:/wamp64/bin/apache/apache2.4.23/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Thu Aug 22 14:47:59.335006 2019] [auth_digest:notice] [pid 12936:tid 548] AH01757: generating secret for digest authentication ...
[Thu Aug 22 14:48:34.000409 2019] [core:warn] [pid 31212:tid 584] AH00098: pid file D:/wamp64/bin/apache/apache2.4.23/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?

编辑 3:

现在我得到以下信息:

.\wamp64\bin\apache\apache2.4.23\bin\httpd.exe -k wampapache64 -k start
[Thu Aug 22 15:13:02.139389 2019] [mpm_winnt:error] [pid 6824:tid 484] (OS 2)The system cannot find the file specified.  : AH00436: No installed service named "Apache2.4".
.\wamp64\bin\apache\apache2.4.23\bin\httpd.exe -k wampapache64 -k start
[Thu Aug 22 15:13:28.453760 2019] [mpm_winnt:error] [pid 1348:tid 488] (OS 2)The system cannot find the file specified.  : AH00436: No installed service named "Apache2.4".
.\wamp64\bin\apache\apache2.4.23\bin\httpd.exe -k stop
[Thu Aug 22 15:13:40.899096 2019] [mpm_winnt:error] [pid 11400:tid 164] (OS 2)The system cannot find the file specified.  : AH00436: No installed service named "Apache2.4".
.\wamp64\bin\apache\apache2.4.23\bin\httpd.exe -k uninstall
[Thu Aug 22 15:14:13.829391 2019] [mpm_winnt:error] [pid 13820:tid 468] (OS 2)The system cannot find the file specified.  : AH00436: No installed service named "Apache2.4".

好的,您应该做的第一件事是放慢速度并找出问题,然后再尝试使用散弹枪解决问题。

不确定您执行操作的确切顺序,但是您执行这些命令的时间

apacha2.4.23\bin\httpd.exe -k install
apacha2.4.23\bin\httpd.exe -k start
apacha2.4.23\bin\httpd.exe -k wampapache64 -k start
apacha2.4.23\bin\httpd.exe -e warn

你肯定开始混淆了这个问题。

这一行

apacha2.4.23\bin\httpd.exe -k install

将 Apache 安装为服务,但使用服务名称 "Apache2.4" 换句话说,您现在将安装 2 个 Apache 服务。一个叫 "Apache2.4",一个叫 "wampapache64" <- 这个是 WAMPServer 的正确命名。

这样做的另一个问题是新服务 "Apache2.4" 将与 "Autostart" 属性 设置一起安装,因此它会在每次启动过程中自动启动。因此,自从您这样做以来,当您尝试启动 WAMPServer 时,此版本的 Apache 已经 运行,当然您不能同时使用端口 80 的 2 个服务,因此 WAMPServers 版本的 Apache (wampapache64) 不会已经可以启动了。 这或许可以解释您的“2 项服务中的 1 项服务 运行”情况

这一行

apacha2.4.23\bin\httpd.exe -k start

将启动新的 "Apache2.4" 服务。

这2行

apacha2.4.23\bin\httpd.exe -k wampapache64 -k start
apacha2.4.23\bin\httpd.exe -e warn

应该产生错误?

现在要恢复正确的 WAMPServer 设置,您应该像这样停止并删除 "Apache2.4" 服务

wamp64\bin\apache\apacha2.4.23\bin\httpd.exe -k stop
wamp64\bin\apache\apacha2.4.23\bin\httpd.exe -k uninstall

NOTE: all these functions are performed by the wampmanager menus by doing

left click wampmanager -> Apache -> Service Manager -> Remove Service

left click wampmanager -> Apache -> Service Manager -> Install Service

and it is best to stick to using those alone.

现在重启电脑,以防万一!然后尝试启动 WAMPServer。 现在查看 "apache_error.log" 的 \wamp64\logs 文件夹,同时启动事件查看器并查看它以查看 WAMPServer 版本的 Apache 生成了哪些错误。

如果您报告任何错误,我们可以开始尝试调试 Windows 更新后实际发生的情况。

It is always a good idea in these situations to check that you have all the MSVC Runtime libraries installed. I have no idea why a Windows Upgrade would remove any of these, but lets start by checking those first.

So download "Checks VC++ packages installed" utility which can be found near the bottom of the WAMPServer Backup Repo If you already have downloaded this tool in the past, download it again, it changes as new MSVC Runtimes are released, so it is always better to get the latest greatest version.

这是最奇怪的事情,我不以任何方式推荐它......但这让它起作用了。

我复制了整个 WAMP 文件夹。然后我在原来的文件夹里卸载了。然后我复制了所有 MySQL 8.0.14 的东西,重新安装了 MySQL 8.0.14。并且...它起作用了。我只需要在 WAMP 菜单中将服务切换到 8.0.14,它就会立即关闭。

我不知道为什么会这样,也不知道它是如何工作的,但它确实起作用了,第二次它起作用了,我立即 SQL 转储了我的完整数据库,并且我正在迁移到另一个非 WAMP平台。非常抱歉,我无法提供有关具体情况的详细信息。但是,我接受 RiggsFolly 的回答,因为我认为他推荐的内容在大多数情况下都有效。

不小心点击了 PHP 7.2“未正常关闭以前的 Apache 运行?”

点击了 WAMP -> PHP -> 版本 -> 7.3

立即启动。 PHP 7.3 模块无法返回到 7.2 并导致 Apache 死机。