断断续续;“打开的文件太多”;包括/需要PHP脚本时

断断续续;“打开的文件太多”;包括/需要PHP脚本时,php,require,Php,Require,在我的开发框中(谢天谢地,据我所知,这还没有发生在生产环境中),当我在一个PHP站点上工作时,我偶尔会遇到以下错误: 警告: require_once(filename.php):失败 打开流:中打开的文件太多 第502行的path/functions.php 致命错误:require_once():无法打开所需的“filename.php” (include_path='/my/include/path')在 第502行的path/functions.php php的第502行是我的“自动加载

在我的开发框中(谢天谢地,据我所知,这还没有发生在生产环境中),当我在一个PHP站点上工作时,我偶尔会遇到以下错误:

警告: require_once(filename.php):失败 打开流:中打开的文件太多 第502行的path/functions.php

致命错误:require_once():无法打开所需的“filename.php” (include_path='/my/include/path')在 第502行的path/functions.php

php的第502行是我的“自动加载”函数,它自动要求包含我使用的类的php文件:

function autoload($className)
{
    require_once $className . ".php";   // <-- Line 502
}
段“69u”和0x45bc1a6481。。。每行的数字都不一样。这意味着什么?这就是问题所在吗?(
ulimit
是“无限制的”)

顺便说一句(尽管可能不相关),其中也有一两个:

php-fpm  4093 myuser  8u  IPv4 0x45bc1a646b0f97b3   0t0   TCP 192.168.1.2:59611->rest.nexmo.com:https (CLOSE_WAIT)
(我有一些页面使用HttpRequest(PECL库)调用Nexmo API。这些页面是否没有正确关闭?我如何解决这些问题?

尝试根据需要将php fpm(默认设置为无限)设置为更合适的值

例如:

emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
如果你的应用程序可以处理大量文件,也可以设置此选项:

rlimit_files = 1024
根据您的需要,尝试将php fpm(默认设置为无限)设置为更合适的值

例如:

emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 10s
如果你的应用程序可以处理大量文件,也可以设置此选项:

rlimit_files = 1024