WT-NMP – PHP-CGI随机停止运行,没有错误日志

我们最近安装了WT-NMP,并且正在运行php 5.4.24的Php-Cgi。

我们正在运行相当简单的PHP脚本,当testing一切运行良好。

在这个周末我们想让服务器在更长的时间内运行testing。 服务器和脚本周五整天都运行良好,但周六晚些时候,php-cgi停止运行。

错误日志(C:\ WT-NMP \ log)中没有错误。 在configuration(php.ini)我有以下选项设置:error_reporting = E_ALL display_errors =在display_startup_errors =在log_errors =在html_errors =在error_log =“c:/wt-nmp/log/php_error.log”

我们也有标准的nginx.conf错误日志:access_log“c:/wt-nmp/log/nginx_access.log”; error_log“c:/wt-nmp/log/nginx_error.log”警告;

所以,由于日志目录是空的,我假设正在运行的php脚本和一般的nginx操作不会导致php-cgi停止。

所以我的问题是:还有什么可能导致php-cgi停止运行? 有没有其他的日志logging选项,我们可以打开,可以帮助我们跟踪这个呢? 还有其他的日志位置,我们应该看看?

谢谢!

作为WT-NMP的开发者,我可以告诉你, WT-NMP是一个windows开发堆栈,不应该在生产服务器上使用。

Php-cgi可能由于很多原因(操作系统,内存,networking)而停止,与您的PHP代码无关。 在Linux生产服务器上,有一个进程pipe理器(php-fpm)监视/重新启动/logging这样的崩溃进程。 WT-NMP服务器pipe理器不会那么做(还)。

没有configuration指令可以帮助您调查此问题。 任何调查应该从操作系统级开始。

作为一个解决方法,在conf / php.ini中,你应该增加memory_limit,禁用所有不必要/不稳定的php扩展,特别是xcache,xdebug和opcache

更新:最新版本的WT-NMP现在监视并重新启动崩溃的php-cgi进程。

还有什么可能导致php-cgi停止运行?

这是由PHP中的错误引起的。 php-cgi不是很好的维护。

有没有其他的日志logging选项,我们可以打开,可以帮助我们跟踪这个呢? 还有其他的日志位置,我们应该看看?

不。 您可能会在Windows Eventlog中find某些内容。 用php-dev-sdk (debugging符号)运行windbghttp://www.windbg.org/

如果你发现了什么,请附上完整的debugging跟踪并通过https://bugs.php.net/report.php报告错误

以下设置适用于Windows 2012 R2服务器!

在这里输入图像说明

控制面板 – >系统 – >高级系统设置 – >高级 – >环境variables – >系统variables – >新build – >variables名称:PHP_FCGI_MAX_REQUESTS&variables值:0