当前位置:首页 > 技术积累 > 正文内容

IIS中使用PHP-CGI报500错误问题可能原因

竹林之风5年前 (2019-10-22)技术积累3797

        在IIS中使用CGI方式运行PHP网站突然报500服务器错误,需要判断当前系统的软件环境有何变化去一一排查,通常可能的原因有:

(1)PHP程序因有BUG而报错,查看网页报错具体提示或程序错误日志并定位具体BUG位置和修改;

(2)MySQL等数据库因地址、端口、账号或密码等有变化而不能连接数据库或因故障停止服务,检查数据库连接信息并修改,或检查数据库服务运行状态并通过数据库错误日志和Windows错误日志排查故障

(3)应用程序池或网站使用的系统账号是否有密码和权限相关的变化,检查应用程序池、网站和相关账号的状态,如应用程序池进程模型标识设置为LocalSystem;

(4)php-cgi.exe是否无法运行,直接双击运行php-cgi.exe看是否有报错提示,比如缺少dll等,此种情况检查是否未安装Visual C++运行库;

(5)IIS与PHP-CGI相关的配置是否有变化,检查IIS的CGI相关配置;

(6)PHP配置是否有变化,检查PHP相关设置,如未将php.ini复制到C:\Windows;

(7)WinServer2012可能报错“指定的CGI应用程序由于未返回完整的一组 HTTP 头而产生错误行为……”,则修改php.ini配置:

cgi.force_redirect = 0
cgi.redirect_status_env = "yes"

扫描二维码推送至手机访问。

版权声明:本文由久爱编程网发布,如需转载请注明出处。

本文链接:https://www.9icode.com/index.php/post/40.html

分享给朋友:

相关文章

HTTP长连接与短连接、长轮询与短轮询及长轮询的实现概述

HTTP长连接与短连接、长轮询与短轮询及长轮询的实现概述

        HTTP长连接(long connection)与短连接(short connection)本质上是TCP长连接和短连接:短连接是指在一次HTTP请求和响应之后立即关闭本次TCP连接,...

ASP.NET实现HTTP长轮询(四)——WebApi

ASP.NET实现HTTP长轮询(四)——WebApi

        本文主要描述如何在ASP.NET WebApi中实现长轮询:(1)控制器:using System; using System.Web.Http; using&...

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后进行重定向”异常时,其中一个原因是:在已经重定向后又重定向。在ASP.NET中实现重定向有以下几...

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常问题解决

        ASP.NET中报“无法在已发送HTTP标头之后设置状态”异常,是因为设置Response的StatusCode之前,程序已设置响应标头。可从以...

ASP.NET网站自定义错误处理及其它安全相关

ASP.NET网站自定义错误处理及其它安全相关

        ASP.NET网站在运行过程中总是有可能报错,例如404等HTTP错误、500等程序异常。在IIS托管并报错的情况下,网站的默认行为依次是:(1).NET运行时接收并处理的部分显示.N...

从被扫描记录看网站安全应该注意的一些细节

从被扫描记录看网站安全应该注意的一些细节

1、尽可能地隐藏服务器真实IP,减少攻击目标。例如使用负载均衡、网关等作为门户,由负载均衡或网关转发到后端服务器。2、服务器必须开放的服务(除HTTP、HTTPS等为公众开放的服务外),尽可能改为其它较大的不常用的端口号,这样攻击者需要扫描...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。