php içinde ücretsiz apache çocuk sayısını elde etmek için nasıl

2 Cevap php

Nasıl php Şu anda mevcut apache çocukların sayısının da alabilirsiniz (status = apache çetele SERVER_READY)?

Gerçekten ben eksik php bunu yapmak için basit bir yolu var umuyorum.

2 Cevap

Sen ps aux | grep httpd veya ps aux | grep apache bir kabuk komutunu çalıştırmak ve çıkış hatlarının sayısını olabilir.

exec('ps aux | grep apache', $output);
$processes = count($output);

Ben durum sütununda durumu bir bağlantı kabul etmeye hazır olduğunu gösterir emin değilim, ama hazır süreçlerin sayısını almak için bu karşı filtre edebilirsiniz.

? Eğer Apache sunucu durumu sayfasına erişiminiz varsa, otomatik bayrağını kullanarak deneyin:

http://yourserver/server-status?auto

Çıktı durum sayfasının bir makine tarafından okunabilir versiyonu. I believe siz "IdleWorkers" arıyoruz. İşte başlamak için bazı basit PHP5 kod. Gerçek hayatta muhtemelen sunucusu çevrimdışı durumda bir zaman aşımı başlatmak için cURL veya soket bağlantısı kullanmak isterdim.

<?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;
  }
}

?>