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

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

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

        在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"

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

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

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

分享给朋友:

相关文章

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...

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

ASP.NET Core网站报“An assembly specified in the application dependencies manifest was not found”异常解决

        ASP.NET Core网站报“An assembly specified in the application dependencies ma...

ASP.NET MVC WebApi控制器方法使用async假死超时问题

ASP.NET MVC WebApi控制器方法使用async假死超时问题

        在一个ASP.NET MVC WebApi控制器方法中使用async标记为异步方法后,有时会假死超时。根本原因是同步方法和异步方法混合造成的死锁...

使用Nginx实现简单密码认证

使用Nginx实现简单密码认证

        假设一个网站没有实现登录认证功能,我们要临时增加一个简单的账号密码认证,可以使用Nginx来实现该功能。  server&n...

发表评论

访客

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