如何在php中免费获取apache儿童数量
时间:2020-03-05 18:54:46 来源:igfitidea点击:
在php中,如何获取当前可用的apache子代数
(Apache计分板上的状态= SERVER_READY)?
我真的希望有一种简单的方法可以在php中做到这一点,而我却很想念。
解决方案
回答
我们可以执行ps aux |的shell命令。 grep httpd
或者ps aux | grep apache
并计算输出中的行数。
exec('ps aux | grep apache', $output); $processes = count($output);
我不确定"状态"列中的哪个状态表示已准备好接受连接,但是我们可以对此进行过滤以获取准备就绪的进程数。
回答
如果我们有权访问Apache服务器状态页面,请尝试使用?auto标志:
http:// yourserver / server-status?auto
输出是状态页面的机器可读版本。我相信我们正在寻找" IdleWorkers"。这是一些简单的PHP5代码,可以入门。在现实生活中,如果服务器处于脱机状态,我们可能希望使用cURL或者套接字连接来发起超时。
<?php $status = file('http://yourserver/server-status?auto'); foreach ($status as $line) { if (substr($line, 0, 10) == 'IdleWorkers') { $idle_workers = trim(substr($line, 12)); print $idle_workers; break; } } ?>