Home >Backend Development >PHP Tutorial >centos6.5 - PHP / CentOS - failed to open stream: Too many open files

centos6.5 - PHP / CentOS - failed to open stream: Too many open files

WBOY
WBOYOriginal
2016-06-06 20:29:481609browse

1,我刚开始以为是代码的问题,根据提示把出现打不开文件的地方给注释了,接着刷新页面仍然出现这种问题;可以排除代码的问题。

2,我开始怀疑是不是服务器空间小了,然后进入服务器查看服务器空间,还剩5G空间,然后我把一些日志文件给删除了,把一些以前备份没有用的也给删除了,刷新页面仍然出现这问题;

3,我开始百度,百度解释:打开流失败,打开太多的文件;进入服务器:查看ulimit -a 查看最大打开文件数,已经是最大值了open files (-n) 65535 ,而系统默认的是1024;

centos6.5 - PHP / CentOS - failed to open stream: Too many open files
4,然后我这边临时性解决的方案是,重启php和mysql,重新刷新页面,没有再出现这种情况了。但是根本性问题还是没有解决。

回复内容:

1,我刚开始以为是代码的问题,根据提示把出现打不开文件的地方给注释了,接着刷新页面仍然出现这种问题;可以排除代码的问题。

2,我开始怀疑是不是服务器空间小了,然后进入服务器查看服务器空间,还剩5G空间,然后我把一些日志文件给删除了,把一些以前备份没有用的也给删除了,刷新页面仍然出现这问题;

3,我开始百度,百度解释:打开流失败,打开太多的文件;进入服务器:查看ulimit -a 查看最大打开文件数,已经是最大值了open files (-n) 65535 ,而系统默认的是1024;

centos6.5 - PHP / CentOS - failed to open stream: Too many open files
4,然后我这边临时性解决的方案是,重启php和mysql,重新刷新页面,没有再出现这种情况了。但是根本性问题还是没有解决。

如果你的网站确实不是流量特别大,大部分情况下应该还是你的配置问题。虽然你用ulimit -a命令查出来open files的值是65535,但那是针对当前用户root的。一般的web进程的所属用户是www-root。你可以切换到www-root来看看open files

如果你用的php-fpm,打开php-fpm.conf,加上一行这个再重启就可以了

<code>rlimit_files = 65535</code>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn