对于办公室内的站点检查状态板,我使用 L4,以及使用 Guzzle 将 http 请求发送到站点列表的 artisan 命令。
出于某种原因,如果留得足够长,返回服务器并运行 top
,显示有多达十几个 php artisan check:sites
进程仍在运行,导致服务器上的内存问题,以及其他进程由于内存不足错误而失败。
有谁知道可能是什么原因造成的?我认为这可能是 Guzzle/php-curl 泄漏内存,但我很想知道是否有办法阻止它这样做。
顺便说一句 - cron 执行的 php 命令实际上设置了 120 秒的超时,使用 -d max_execution_time=120
标志,认为这可能会在两分钟后完全杀死任何进程,但它似乎没有奏效。
最佳答案
您可以检查 Guzzle 请求的超时并将其设置为小于 10 秒
$request = $client->get('http://test.com', [], ['timeout' => 10]);
关于php - Laravel 4 Artisan & Guzzle - 导致僵尸进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20902512/