Home > Article > Backend Development > Reasons and solutions for errors when starting php-fpm under nginx
The content of this article is to share with you the reasons and solutions for errors when starting php-fpm under nginx. It has certain reference value. If necessary, Friends can refer to it
1. Background
Today’s server reported a 502 error several times, possibly due to the script I wrote. There are too many, plus a series of problems such as third-party plug-ins used, response timeouts, etc. I encountered many php-fpm errors here. Record it.
1. value is NULL for a ZEND_INI_PARSER_ENTRY
##Cause:
When restarting php-fpm, the system prompts an error. You need to enter "systemctl status php5-fpm.service" to view the error message.ERROR: [/usr/local/php5/etc/php-fpm.conf:144] value is NULL for a ZEND_INI_PARSER_ENTRY
Solution:
The reason for this error is that when we wrote the php-fpm.conf file, we may have written it incorrectly or not in a standard way. Just caused it. Here you can check which line caused the error://看好这个144,这就是你报错的地方 ERROR: [/usr/local/php5/etc/php-fpm.conf:144]Just modify the error message.
2. pm.start_servers(3) must not be less than pm.min_spare_servers(1) and not greater than pm.max_spare_servers(1)
Reason:
For this error, please refer to: PHP official documentationThe size of some parameters was ignored when configuring the file.
Solution:
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 时使用。必须设置。The rules of setting these parameters:
min_spare_servers ≤ start_servers ≤ max_spare_servers ≤ max_children
3. Error when starting php-fpm: cannot get uid for user 'www_data'
Cause:
This error is a startup user error. The configuration file defaults to the user "www_data", but this means that it should be started with the current user. Because I am currently using the "pzsh" user, I can just modify it.Solution:
1. Enter the php-fpm.conf file2. Find user = www-data and modify it to: user = pzsh
The corresponding user group group has also been modified to: group = pzsh
The above is the detailed content of Reasons and solutions for errors when starting php-fpm under nginx. For more information, please follow other related articles on the PHP Chinese website!