创建了许多 php-fpm 进程,并且它们不会消失

创建了许多 php-fpm 进程,并且它们不会消失

我有 PHP(5.5),在 NGINX 上使用 Laravel 框架和 PHP-FPM。

这是我做的。我有一个脚本myscript.php

<?php
  while(true) {
    @file_get_contents('http://myserver.com/api/data');
  }
?>

API URL 指向我的 Laravel 应用程序中的一个控制器,该控制器大致执行以下操作:

public function getData() {
  $page = file_get_contents('http://an-external-server-page');

  // parse the page and insert some data into Postgres DB
  ...
}

现在,在我的 VPS 上,我通过以下方式运行脚本

php myscript &

过了一会儿,我输入

ps -ef | grep php

我看到了很多php-fpm: pool www过程。

我的假设是,由于我只运行了一次脚本,所以 php-fpm 应该只有一个子进程,而不是那么多。但看起来我的假设是错误的。

我的问题是,是什么创建了这么多 php-fpm 请求?

我最初以为每次file_get_contents调用 php-fpm 都会产生请求,但根据我的计算并不是这样。例如,我调用了file_get_contents10 次,但这并不意味着php-fpm创建了 10 个进程。

然后我想也许有些 php-fpm 请求已经创建,但没有被正确关闭。如果是这样,关闭它的正确方法是什么?

相关内容