本篇文章给大家分享的内容是nginx下启动php-fpm出现错误的原因以及解决方案,有着一定的参考价值,有需要的朋友可以参考一下
一、背景
今天的服务器好几次都报502错误,可能是由于写的脚本太多了,加上使用的第三方插件,响应超时等等一系列问题。这边碰到很多php-fpm方面的错误。记录一下。
1、 value is NULL for a ZEND_INI_PARSER_ENTRY
原因:
在重启php-fpm的时候,系统提示报错,需要输入“systemctl status php5-fpm.service”来查看错误信息。
ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY
解决方案:
出现这个错误的原因是我们在写php-fpm.conf文件的时候,可能是写的不够标准或者写错了才造成的。这边可以查看是哪一行报错了:
//看好这个144,这就是你报错的地方 ERROR: [/usr/local/php5/etc/php-fpm.conf:144]
修改报错信息即可。
2、pm.start_servers(3) must not be less than pm.min_spare_servers(1) and not greater than pm.max_spare_servers(1)
原因:
这个错误可以参考:php官方文档
在配置文件的时候忽略了一些参数的大小问题。
解决方案:
pm.max_children int pm 设置为 static 时表示创建的子进程的数量,pm 设置为 dynamic 时表示最大可创建的子进程的数量。必须设置。 该选项设置可以同时提供服务的请求数限制。类似 Apache 的 mpm_prefork 中 MaxClients 的设置和 普通PHP FastCGI中的 PHP_FCGI_CHILDREN 环境变量。 pm.start_servers in设置启动时创建的子进程数目。仅在 pm 设置为 dynamic 时使用。默认值:min_spare_servers + (max_spare_servers - min_spare_servers) / 2。 pm.min_spare_servers int 设置空闲服务进程的最低数目。仅在 pm 设置为 dynamic 时使用。必须设置。 pm.max_spare_servers int 设置空闲服务进程的最大数目。仅在 pm 设置为 dynamic 时使用。必须设置。
设置的这几个参数的规律:
min_spare_servers ≤ start_servers ≤ max_spare_servers ≤ max_children
3、启动php-fpm报错:cannot get uid for user ‘www_data’
原因:
这个错误是启动用户的错误。配置文件默认是“www_data”这个用户,但是这边意思是要用当前的用户启动。因为我当前使用的是”pzsh”用户,所以修改一下即可。
解决方案:
1、进入php-fpm.conf文件
2、找到 user = www-data 修改为: user = pzsh
对应的用户组group也修改为:group = pzsh
以上就是最近碰到的重启php-fpm时候遇到的问题。其实很多错误信息服务器已经提示给我们,读懂英文即可。
end
Atas ialah kandungan terperinci nginx下启动php-fpm出现错误的原因以及解决方案. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!