【发布时间】:2020-03-17 05:52:21
【问题描述】:
使用 PHP 我遇到了failed to open stream: Too many open files 错误,通过 wp-cli 以及通过 fpm-php。
我已经在命令行上调整了 fpm 的 rlimit 和 ulimit 之类的东西。现在,如果我能看到一个脚本在不运行(慢)代码的情况下可以打开的最大文件数,那就太好了。
如何从 PHP 本身查看可以打开的文件数量?
我知道我可以查看配置文件,但我想查看当前脚本可用的实际数量,以便我可以调整配置文件并查看哪些更改真正有意义。
很遗憾phpinfo() 没有显示这个号码。
如果有显示这个数字的 shell 命令,这当然就足够了,因为我可以exec 那个。
【问题讨论】:
-
在 /etc/security/limits.conf 中:不确定
-
在服务器 debian 上你也可以去 /etc/php/php7.xx/fpm/pool.d/www.conf 找到“rlimit_files”然后重启服务器
-
PHP 脚本的最大可用文件描述符似乎接近
posix_getrlimit()['soft_openfiles'](嗯,对于 Linux 或 POSIX 系统),尽管减去了一个很小的文件数量,尽管 变化描述符(因环境而异,可能是因为 PHP 或父进程内部打开的文件?)。正在使用的文件描述符的数量,您可以通过在脚本中使用count(get_resources('stream'))的结果来获得。 -
纠正我之前的评论:'soft_openfiles' 中的下划线必须是空格。
标签: php ulimit fpm wp-cli setrlimit