✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Palvelimen tilan käytettävyyden näyttäminen verkkosivuilla PHP:n ja Crontabin avulla

14

Tiedämme kaikki aiemmin tässä viestissä, että voimme käyttää PHP: ssä shell_exec- tai exec -muotoa saadakseen ulkoisen ohjelman tulosteen palvelimelle. Joten ilmeisesti voimme ajaa linux-komentoa uptime saadaksemme palvelimen tilan, mikä antaa jotain tällaista (tai jos rullaat tätä blogia alas, tämän sivun lopusta löydät lähes reaaliaikaisen tilapäivityksen, eli päivittyvät joka 5 minuuttia):

 10:25:01 up 31 days, 15:17,  0 users,  load average: 0.01, 0.09, 0.12

Näistä syistä ei kuitenkaan ole suositeltavaa kutsua uptime – komentoa suoraan käyttämällä shell_exec- tai exec -komentoa.
Ensinnäkin web-hosting-yritykset voivat poistaa shell_execin ja execin käytöstä (sikäli kuin tiedän), pääasiassa jaetuissa isännissä turvallisuussyistä. Fasthosts poistaa tämän käytöstä, mutta Godday ei toisaalta kiellä tätä käyttöä. Toiseksi näiden kahden komennon suorittamista reaaliajassa PHP-skriptien sisällä pidetään tehottomana ja aikaa (CPU) vievänä.

Oikea/suositeltu tapa saada tällaiset tiedot on seuraava: Luo ensin crontab, joka suoritetaan tietyin väliajoin, esim. 2 minuutin välein palvelimella, käyttämällä crontab -e mahdollistaa töiden muokkaamisen suosikkitekstieditorillasi, esim. kuten nano tai vim.

*/2 * * * * /usr/bin/uptime > $HOME/htdocs/uptime.txt

Siten 2 minuutin välein (poista /2 joka minuutti) tiedosto uptime.txt päivitetään ja asetetaan julkiseen HTTP-kansioon. Joten voit käyttää seuraavaa PHP-skriptiä saadaksesi tällaiset tiedot.

$uptime = file_get_contents('<a class="vglnk" target="_blank" href="http://'.$_SERVER['SERVER_NAME'].'/uptime.txt" rel="nofollow"><span>http</span><span>://'.$_</span><span>SERVER</span><span>['</span><span>SERVER</span><span>_</span><span>NAME</span><span>'].'/</span><span>uptime</span><span>.</span><span>txt</span></a>');
if ($uptime) {
  echo $uptime;
}

Kuulostaa melko helpolta, eikö? Tämä antaa sinulle suhteellisen tarkan käytettävyyden tilan, ja voit laittaa nämä tiedot wordpress- blogin footer.php -osoitteeseen (vieritä esimerkiksi sivun loppuun).

Voit myös käyttää DOCUMENT_ROOT -palvelinmuuttujaa, joka edustaa verkkosivuston juurihakemistoa. Varmista siis, että uptime.txt -tiedosto sijaitsee verkkosivuston juurihakemistossa.

$uptime = '';
$uptimefile = $_SERVER['DOCUMENT_ROOT']. '/uptime.txt';
if (is_file($uptimefile)) {
    $uptime = @file_get_contents($uptimefile);
}  

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja