PHP http500服务器内部错误

PHP http500服务器内部错误,第1张

出现500错误的原因是很多的,一般来说,如果程序出错,那么在浏览器内会返回给用户一个友好的错误提示,统一称之为服务器500错误。

解决的方法就是您必须在http中能够正确的获得错误信息,方法为:请打开浏览器,选择工具,internet选项,高级,在高级中的浏览项目里面有一个“显示http友好错误提示”的复选框,请取消该复选框,这样您可以获得正确的错误提示。

在获得正确的错误提示之后,您就可以根据该错误提示检查您具体的出错原因了

大多数情况下,是一个网页中使用了多个@

命令(调用多个网页往往忽略了这个问题),

去掉就ok

了。

iis错误500解决方法!

综合分析上面的错误表现我们可以看出,主要是由于iwam账号(在我的计算机即是iwam_myserver账号)的密码错误造成了http

500内部错误。在详细分析http500内部错误产生的原因之前,先对iwam账号进行一下简要的介绍:

iwam账号是安装iis5时系统自动建立的一个内置账号,主要用于启动进程之外的应用程序的internet信息服务。iwam账号的名字会根据每台计算机netbios名字的不同而有所不同,通用的格式iwam_machine,即由“iwam”前缀、连接线“_”加上计算机的netbios名字组成。我的计算机的netbios名字是myserver,因此我的计算机上iwam账号的名字就是iwam_myserver,这一点与iis匿名账号isur_machine的命名方式非常相似。iwam账号建立后被active

directory、iis

metabase数据库和com

应用程序三方共同使用,账号密码被三方分别保存,并由 *** 作系统负责这三方保存的iwam密码

的同步工作。按常理说,由 *** 作系统负责的工作我们大可放心,不必担心出错,但不知是bug还是其它什么原因,系统的对iwam账号的密码同步工作有时会失败,使三方iwam账号所用密码不统一。当iis或com

应用程序使用错误iwam的密码登录系统,启动iis

out-of-process

pooled

applications时,系统会因密码错误而拒绝这一请求,导致iis

out-of-process

pooled

applications启动失败,也就是我们在id10004错误事件中看到的“不能运行服务器{3d14228d-fbe1-11d0-995

d-00c04fd919c1}

”(这里{3d14228d-fbe1-11d0-995d-00c04fd919c1}

是iis

out-of-process

pooled

applications的key),不能转入iis5应用程序,http

500内部错误就这样产生了。

三.解决办法知道了导致http

500内部错误的原因,解决起来就比较简单了,那就是人工同步iwam账号在active

directory、iis

metabase数据库和com

应用程序中的密码。具体 *** 作分三步,均需要以管理员身份登录计算机以提供足够的 *** 作权限

一般情况下IIS+PHP出现500错误是因为IIS没有配置好PHP文件的解析关联,

菜单--工具--Internet选项--高级--显示友好的HTTP错误信息,去掉这个勾,然后刷新出错页,就可以看到详细的出错信息,对帮助你确定错误所在非常有帮助!

至于IIS+PHP?apache+php?nginx+php?这三种搭配自然是后面的两种更好一些,Nginx是Apache服务器不错的替代品,不过也要根据自己的需求来定,如果不会配置apache或许还不如ISS+PHP呢。所以我的建议是,哪个熟悉用哪个。

1:php-cgi进程数不够用 (我就是采用此方法解决的)vim php-fpm.conf修改其中的2个参数(1)在安装好使用过程中出现502问题,一般是因为默认php-cgi进程是5个,可能因为phpcgi进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf 将其中的max_children值适当增加这个数值是不确定的 需要我们自己算的,这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少,减小出现502错误的机率。一般来说,一台服务器的正常情况下每一个php-cgi要耗费的内存为20M左右。如果我就将此值设为80,那么也就是说大概要耗费服务器1600M内存。查看一下当前系统中有多少个php-cgi进程在运行netstat -anpo | grep php-cgi | wc -l如果这个值接近你的在配置文件里面设置的值,说明需要增加注:这要根据机器的实际情况而定,每个机器的硬件设施和环境不一样参数为:<value name=”max_children”>80</value>(2)另外一个参数就是php-cgi脚本的执行时间<value name=”request_terminate_timeout”>0s</value>这里写0s的意思是让php-cgi一直执行下去,没有时间限制。注意:如果你做不到这一点,也就 是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI假死那么就建议你给 request_terminate_timeout赋一个值,这个值可以根据服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分 钟都可以。修改完这两个参数,重启一下php-cgi,看是否还出现502错误2: php执行时间长php执行超时,修改/usr/local/php/etc/php.ini 将max_execution_time 改为300重启一下php-cgi,看是否还出现502错误3: php-cgi进程死掉杀死其进程,重启php-cgi


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/5897891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存