PHP-fpm打开文件过多24错误(设置打开文件描述符限制)

时间:2020-01-09 10:42:58  来源:igfitidea点击:

我的/var/log/php7.0-fpm.log文件中出现以下错误:
ERROR: failed to prepare the stderr pipe: Too many open files (24)
错误:无法准备stderr管道:打开的文件太多(24)

如何解决此问题?
您需要为PHP主进程设置打开文件描述符rlimit。
默认值是系统定义的,但可以根据需要增加它。

php-fpm打开文件过多错误和解决方法

编辑php-fpm.conf

# vi /etc/php/7.0/fpm/php-fpm.conf

查找rlimit_files

;rlimit_files = 1024

并按以下方式(或者根据您的需要)进行更新:

rlimit_files = 4096

保存并关闭文件。
重新启动php7-0.fpm,运行:

# systemctl restart php7.0-fpm

在操作系统级别增加FD限制

查找用户/组名:

$ grep ^user /etc/php/7.0/fpm/pool.d/www.conf
$ grep ^group /etc/php/7.0/fpm/pool.d/www.conf
www-data
www-data

编辑/etc/security/limits.conf,执行:

# vi /etc/security/limits.conf

追加如下内容(用您的真实姓名替换用户/组名称):

www-data       soft    nofile  4096
www-data       hard    nofile  4096

重新启动所需的过程。
保存并关闭文件。
验证一下:

$ su - www-data

要查看硬值和软值,请执行以下命令:

$ ulimit -Hn
$ ulimit -Sn