【问题标题】:How can I see the number of maximum open files in PHP?如何查看 PHP 中的最大打开文件数?
【发布时间】:2020-03-17 05:52:21
【问题描述】:

使用 PHP 我遇到了failed to open stream: Too many open files 错误,通过 wp-cli 以及通过 fpm-php。

我已经在命令行上调整了 fpm 的 rlimitulimit 之类的东西。现在,如果我能看到一个脚本在不运行(慢)代码的情况下可以打开的最大文件数,那就太好了。

如何从 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


【解决方案1】:

在php中,在执行之前,试试这个

exec('ulimit -S -n 2048');

【讨论】:

  • 这很有用,但它不会显示最大打开文件的数量。为了避免在每个脚本中添加额外的exec,我必须找出要更改哪个配置文件才能获得所需的效果。
猜你喜欢
  • 1970-01-01
  • 2014-02-05
  • 2016-01-24
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 2022-06-23
  • 2015-07-20
  • 1970-01-01
相关资源
最近更新 更多