В php, как я могу получить количество доступных в настоящее время апачей?
( status = SERVER_READY
на табло apache)?
Я действительно надеюсь, что есть простой способ сделать это в php, который мне не хватает.
Вы можете выполнить команду оболочки ps aux | grep httpd
ps aux | grep httpd
или ps aux | grep apache
ps aux | grep apache
и подсчет количества строк на выходе.
exec('ps aux | grep apache', $output); $processes = count($output);
Я не уверен, какой статус в столбце состояния указывает, что он готов принять соединение, но вы можете фильтровать его, чтобы получить количество готовых процессов.
Если у вас есть доступ к странице состояния сервера Apache, попробуйте использовать флаг «auto»:
HTTP: // ваш_сервер / сервер-статус авто
Вывод – машиночитаемая версия страницы состояния. Я считаю, что вы ищете «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; } } ?>