增加系统规范时 Apache 崩溃

标签 apache xampp

我在 Windows 上使用 XAMPP 已经两年左右了,它运行完美,没有崩溃没有问题。 (直到四个月前。)
大约四个月前,我们将服务器/系统升级到了更快的规范。
这是旧规范的内容 -

Windows Edition: Windows Server R2 2008 Standard with Service Pack 1

System Processor: Intel(R) Xeon(R) CPU 5160 @3.0GHZ (2 Processors) (Single Core)

Installed Memory: 7GB

System Type: 64 Bit Operating System


升级规范

Windows Edition: Windows Server R2 2008 Standard with Service Pack 1

System: Processor: Intel(R) Xeon(R) CPU X5680 @3.33GHZ (2 Processors) (Dual Core)

Installed Memory: 8GB

System Type: 64 Bit Operating System


所以就像我之前提到的,旧规范从来没有任何问题,它在一年半的时间里从来没有崩溃或失败过。
我们一升级就发生了以下情况。
Apache 随机崩溃,使站点在手动重新启动之前无法使用。当 apache 也崩溃时,它会在访问 phpMyAdmin 时引发错误,从而阻止您查询数据库。我什至卸载了XAMPP并用PHP7安装了最新版本,这仍然没有解决问题。
这是一个例子

Notice in .\libraries\common.inc.php#253 Undefined variable: _POST

Backtrace

.\index.php#12: require_once(.\libraries\common.inc.php) Warning in .\libraries\common.inc.php#253 array_merge(): Argument #2 is not an array

Backtrace

.\libraries\common.inc.php#253: array_merge( array, NULL, ) .\index.php#12: require_once(.\libraries\common.inc.php) Notice in .\libraries\common.inc.php#443 Undefined variable: _POST

Backtrace

.\index.php#12: require_once(.\libraries\common.inc.php) Notice in .\libraries\common.inc.php#453 Undefined variable: _POST

Backtrace

.\index.php#12: require_once(.\libraries\common.inc.php) Notice in .\libraries\cleanup.lib.php#26 Undefined variable: _POST

Backtrace

.\libraries\common.inc.php#514: PMA_removeRequestVars(array) .\index.php#12: require_once(.\libraries\common.inc.php) Notice in .\libraries\cleanup.lib.php#31 Undefined variable: _POST

Backtrace

.\libraries\common.inc.php#514: PMA_removeRequestVars(array) .\index.php#12: require_once(.\libraries\common.inc.php)


这可能每天发生 1-5 次,并且没有生成任何日志来说明它发生的任何原因。我能找到的唯一方法是进入非常模糊的事件查看器。
举个例子——

Faulting application name: httpd.exe, version: 2.4.18.0, time stamp: 0x5667f02e Faulting module name: php7ts.dll, version: 7.0.2.0, time stamp: 0x568d8eb5 Exception code: 0xc0000005 Fault offset: 0x0001ab54 Faulting process id: 0x9bf4 Faulting application start time: 0x01d18f1d3eed5f7e Faulting application path: C:\xampp_\apache\bin\httpd.exe Faulting module path: C:\xampp_\php\php7ts.dll Report Id: a2a226d0-fb64-11e5-b4cb-005056a97cdf

And

Faulting application name: httpd.exe, version: 2.4.18.0, time stamp: 0x5667f02e Faulting module name: ntdll.dll, version: 6.1.7601.23313, time stamp: 0x5684289c Exception code: 0xc0000374 Fault offset: 0x000ce00b Faulting process id: 0x3320 Faulting application start time: 0x01d18b1c1e501368 Faulting application path: C:\xampp_\apache\bin\httpd.exe Faulting module path: C:\Windows\SysWOW64\ntdll.dll Report Id: 77d4bd4a-f723-11e5-9fc8-005056a97cdf


为了证明我认为更快的规范是问题的理论,我将规范降低到其原始状态,并且在 2 周内 XAMPP 从未崩溃过一次,一旦我们回到更高的规范,它在几个小时内就崩溃了。
如果您升级到更快的规范,您有什么特别打算对 XAMPP 做的事情吗?
我完全迷失了想法,我在网上看了又看,似乎找不到任何遇到与我相同的问题以及原因的人。
如果有人能对这些问题有所了解,我将不胜感激!

最佳答案

你从单核到双核。检查 apache 配置以找出正在使用的 MPM 模块。多个线程可能在单个内核上工作,而在多核服务器上可能不再工作。

关于增加系统规范时 Apache 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36470388/

相关文章:

php - 在 ubuntu 上以 root 身份使用 Apache

windows-8 - Windows 8 xampp 上的 Imagick

apache - 使用 Apache Rewrite 忽略尾部斜杠

node.js - 为什么我不能在 apache 中阻止单个 node.js 文件?

java - 如何从 httpservletrequest 获取多方性

php - 找不到 php_sqlsrv 扩展 - 5.3,线程安全

apache - Laravel 服务在本地主机上收到 ERR_CONNECTION_REFUSED

apache - 具有两个域的 VirtualHost 不起作用

php - 如何加载用 PHP 生成的 SVG 文件?

php - 将 DropDown 值保存到 Php MySQL