前言:
此时姐妹们对“php守护进程导致502”大约比较珍视,各位老铁们都想要知道一些“php守护进程导致502”的相关资讯。那么小编也在网摘上搜集了一些关于“php守护进程导致502””的相关内容,希望朋友们能喜欢,我们一起来学习一下吧!一台服务器最近新建了一个站点,使用的是IIS7.5+php8.2。设置帐号权限并创建好站点后,打开浏览器测试,却报“502”错误,提示如下:
折腾了一番度娘后,没有找到结果。只好继续回到服务器去调试。
(1)会不会是php文件不工作呢?在网站目录下创建静态文件test.html并用浏览器访问这个文件,结果依旧。
(2)服务器中还有一个站点使用的是php7.4,一直是正常的。将php的处理程序路径更改为php7.4,访问正常。难道是php8的问题?理论是不可能的。于是将处理程序路径更改回php8继续找原因。
既然php7有用,问题点可以缩小到php8这里了。目光聚集到了php8的配置文件php.ini中。打开配置文件,仔细翻看,找到了cgi.force_redirect。看看其中的描述:
; cgi.force_redirect is necessary to provide security running PHP as a CGI under
; most web servers. Left undefined, PHP turns this on by default. You can
; turn it off here AT YOUR OWN RISK
; **You CAN safely turn this off for IIS, in fact, you MUST.**
;cgi.force_redirect = 1
由于建站时直接使用的大多是默认的配置参数,所以此处是注释状态,并未配置值,但是如果未定义,PHP将默认启用此选项。对于有些服务器来说这个参数是需要的,但是对于IIS应该关闭它。去掉参数前面的分号并修改如下:
cgi.force_redirect = 0
保存php.ini后,刷新页面,访问正常。
小结:php的配置文件有非常多的参数,默认情况下php是按推荐的方式提供运行。但是我们实际环境使用时,应当按需修改配置,以达到安全和性能的兼得。
标签: #php守护进程导致502