✅ 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

7

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.

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.

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