我目前在 Windows 上运行 Apache,有时它似乎会立即激增并尝试分配从 10 GB 到数百 TB 的内存。此错误日志出现几次后,Apache 似乎锁定了(但仅限于出现错误的特定网站),并且只显示白屏,直到重新启动 Apache。错误日志表明它在处理 wordpress 主题中的 functions.php 时发生。但每次调用页面时都会运行,因此它不是很有说服力。
该服务器托管了多个 word press 和自定义 PHP 网站。这些自定义网站从未出现过问题。有问题的网站有不同的插件和主题……更奇怪的是,一些未受影响的 wordpress 网站与有问题的页面具有相同的设置。
我看不出产生问题的任何实际模式或特定 URL。我找到了一篇关于 PHP 在正则表达式中使用特殊字符时出现问题的帖子,但我的测试表明这不是原因……而且我的 php 版本比导致错误的版本更新。
我注意到的另一件事是,我看到事件查看器错误,提示 httpd.exe 由于 vcruntime140.dll 而崩溃:
Faulting application name: httpd.exe, version: 2.4.20.0, time stamp: 0x57039cd6
Faulting module name: VCRUNTIME140.dll, version: 14.0.23918.0, time stamp: 0x56eb8e78
我已经用最新的 Visual C 运行时更新了我的系统,以确保旧版本没有损坏,但每天仍然会遇到相同的错误/崩溃。我没主意了。
我的服务器正在运行以下命令:
- Windows 2008 R2
- Apache 2.4.20(使用 VC14 的 x64)
- OpenSSL 1.0.2.g
- PHP 7.0.6(线程安全 - 使用 VC14 的 x64)
- MySQL 5.6.30(x64)