nginx下启动php-fpm相关错误信息集锦(长期补充)

一、背景

今天的服务器好几次都报502错误,可能是由于写的脚本太多了,加上使用的第三方插件,响应超时等等一系列问题。这边碰到很多php-fpm方面的错误。记录一下。

二、报错信息

1、 value is NULL for a ZEND_INI_PARSER_ENTRY

原因:

在重启php-fpm的时候,系统提示报错,需要输入"systemctl status php5-fpm.service"来查看错误信息。

vbscript 复制代码
ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY

解决方案

出现这个错误的原因是我们在写php-fpm.conf文件的时候,可能是写的不够标准或者写错了才造成的。这边可以查看是哪一行报错了:

javascript 复制代码
//看好这个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官方文档

在配置文件的时候忽略了一些参数的大小问题。

解决方案:

csharp 复制代码
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

========================================================================

18年4月19日更新:

由于各项配置改完之后,间隔四天再次出现了502错误,我这边直接通过定时重启php-fpm服务了

1、执行:crontab -e

2、每天2:00重启php-fpm服务

复制代码
0 2 * * * service php5-fpm restart

这个命令是我自己系统的,大家可以根据自己的系统来修改。

相关推荐
古城小栈6 小时前
Jenkins+K8s实现Go后端服务自动化部署
go·k8s·jenkins
不会写DN15 小时前
Gin 实战入门:从环境搭建到企业级常用特性全解析
go·gin
下次一定x1 天前
深度解析 Kratos 客户端服务发现与负载均衡:从 Dial 入口到 gRPC 全链路落地(下篇)
后端·go
乐茵lin1 天前
大厂都在问:如何解决map的并发安全问题?三种方法让你对答如流
开发语言·go·编程·map·并发安全·底层源码·sync.map
不会写DN2 天前
GORM 实战入门:从环境搭建到企业级常用特性全解析
sql·mysql·go·gin
F1FJJ2 天前
Shield CLI 的 PostgreSQL 插件 v0.5.0 发布:数据库导出 + 协作增强,ER 图全新体验
网络·数据库·docker·postgresql·go
liangbm34 天前
AI-ViewNote:把网课和会议视频自动卷成结构化笔记
ai·typescript·go·软件构建·开源软件·react·桌面软件
我叫黑大帅4 天前
Gin 实战入门:从环境搭建到企业级常用特性全解析
后端·面试·go
我叫黑大帅4 天前
Gin 日志体系详解
后端·面试·go
F1FJJ4 天前
Shield CLI v0.3.3 新增 PostgreSQL 插件:浏览器里管理 PG 数据库
网络·网络协议·docker·postgresql·容器·go