{"id":232593,"date":"2023-01-21T19:06:00","date_gmt":"2023-01-21T16:06:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232593"},"modified":"2022-11-10T11:26:37","modified_gmt":"2022-11-10T08:26:37","slug":"visualizzazione-del-tempo-di-attivita-dello-stato-del-server-sulle-pagine-web-utilizzando-php-e-crontab","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/visualizzazione-del-tempo-di-attivita-dello-stato-del-server-sulle-pagine-web-utilizzando-php-e-crontab\/","title":{"rendered":"Visualizzazione del tempo di attivit\u00e0 dello stato del server sulle pagine Web utilizzando PHP e Crontab"},"content":{"rendered":"\n<p>Sappiamo tutti, in precedenza, <a href=\"https:\/\/helloacm.com\/use-php-script-to-monitor-temperature-and-uptime-for-raspberry-pi-in-the-browser\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">in questo post<\/a>, che possiamo usare <strong>shell_exec<\/strong> o <strong>exec<\/strong> in PHP per ottenere l&#8217;output di un programma esterno sul server. Quindi, ovviamente, possiamo eseguire il comando linux <strong>uptime<\/strong> per ottenere lo stato del server, che fornisce qualcosa del genere (o se scorri questo blog, alla fine di questa pagina, troverai l&#8217;aggiornamento dello stato quasi in tempo reale, ovvero aggiornato ogni 5 minuti):<\/p>\n<pre><code>\u00a010:25:01 up 31 days, 15:17, \u00a00 users, \u00a0load average: 0.01, 0.09, 0.12<\/code><\/pre>\n<p>Tuttavia, non \u00e8 consigliabile invocare direttamente il comando <strong>uptime<\/strong> utilizzando <strong>shell_exec<\/strong> o <strong>exec<\/strong><br \/>\nper questi motivi. Innanzitutto, <strong>shell_exec<\/strong> ed <strong>exec<\/strong> possono essere disabilitati (per quanto ne so) dalle societ\u00e0 di web hosting, principalmente sugli host condivisi per motivi di sicurezza. Fasthosts lo disabilita ma Godday, d&#8217;altra parte, non vieta questo utilizzo. In secondo luogo, \u00e8 considerato inefficiente e richiede tempo (CPU) per eseguire questi due comandi in tempo reale all&#8217;interno degli script PHP.<\/p>\n<p>Il modo corretto\/consigliato per ottenere tali informazioni \u00e8 il seguente: Innanzitutto, crea un <a href=\"https:\/\/helloacm.com\/crontab-generator\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontab<\/a> che viene eseguito a intervalli di tempo, ad esempio ogni 2 minuti sul server, l&#8217;utilizzo di <strong>crontab -e<\/strong> ti consentir\u00e0 di modificare i lavori utilizzando il tuo editor di testo preferito come come <strong>nano<\/strong> o <strong>vim<\/strong>.<\/p>\n<pre><code>*\/2 * * * * \/usr\/bin\/uptime &gt; $HOME\/htdocs\/uptime.txt<\/code><\/pre>\n<p>Pertanto, ogni 2 minuti (rimuovere \/2 per ogni minuto), il file <strong>uptime.txt<\/strong> verr\u00e0 aggiornato e inserito nella cartella HTTP pubblica. Quindi puoi usare il seguente script PHP per ottenere tali dati.<\/p>\n<pre><code>$uptime = file_get_contents('&lt;a class=\"vglnk\" target=\"_blank\" href=\"http:\/\/'.$_SERVER['SERVER_NAME'].'\/uptime.txt\" rel=\"nofollow\"&gt;&lt;span&gt;http&lt;\/span&gt;&lt;span&gt;:\/\/'.$_&lt;\/span&gt;&lt;span&gt;SERVER&lt;\/span&gt;&lt;span&gt;['&lt;\/span&gt;&lt;span&gt;SERVER&lt;\/span&gt;&lt;span&gt;_&lt;\/span&gt;&lt;span&gt;NAME&lt;\/span&gt;&lt;span&gt;'].'\/&lt;\/span&gt;&lt;span&gt;uptime&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;txt&lt;\/span&gt;&lt;\/a&gt;');\nif ($uptime) {\n\u00a0 echo $uptime;\n}<\/code><\/pre>\n<p>Sembra abbastanza facile, vero? Questo ti d\u00e0 uno stato di uptime relativamente accurato e potresti inserire queste informazioni nel <strong>footer.php<\/strong> del blog wordpress (scorri verso il basso fino alla fine della pagina, ad esempio).<\/p>\n<p>Puoi anche usare la variabile del server <strong>DOCUMENT_ROOT<\/strong> che rappresenta la directory principale di un sito web. Quindi, assicurati che <strong>uptime.txt<\/strong> si trovi nella directory principale di un sito Web.<\/p>\n<pre><code>$uptime = '';\n$uptimefile = $_SERVER['DOCUMENT_ROOT']. '\/uptime.txt';\nif (is_file($uptimefile)) {\n\u00a0 \u00a0 $uptime = @file_get_contents($uptimefile);\n} \u00a0<\/code><\/pre>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visualizzazione del tempo di attivit\u00e0 dello stato del server sulle pagine Web utilizzando PHP e Crontab<\/p>\n","protected":false},"author":1,"featured_media":223885,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[896,804,720,844],"tags":[1168],"class_list":["post-232593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codice","category-php-6","category-sviluppatore","category-tutorial","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=232593"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/232593\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/223885"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=232593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=232593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=232593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}