PHP监控linux服务器负载_PHP教程
由于Web Server以及PHP的实现方式所限,我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用PHP去执行此c程序。
c程序
首先写个c文件,比如/usr/local/ismole/w.c
<ol class="dp-c"> <li class="alt"><span><span class="comment">//note 由于wordpress编辑器的原因,请将此代码中头文件多余的空格去除 </span> </span></li> <li><span><span class="preprocessor">#include </span> </span></li> <li class="alt"><span><span class="preprocessor">#include </span> </span></li> <li><span><span class="preprocessor">#include </span> </span></li> <li class="alt"><span><span class="preprocessor">#include </span><span> </span></span></li> <li><span> </span></li> <li class="alt"> <span class="keyword">int</span><span> main() </span> </li> <li><span>{ </span></li> <li class="alt"><span> uid_t uid ,euid; </span></li> <li><span> </span></li> <li class="alt"> <span> </span><span class="comment">//note 获得当前的uid </span><span> </span> </li> <li><span> uid = getuid(); </span></li> <li class="alt"> <span> </span><span class="comment">//note 获得当前euid </span><span> </span> </li> <li><span> euid = geteuid(); </span></li> <li class="alt"><span> </span></li> <li> <span> </span><span class="comment">//note 交换这两个id </span><span> </span> </li> <li class="alt"> <span> </span><span class="keyword">if</span><span>(setreuid(euid, uid)) </span> </li> <li> <span> perror(</span><span class="string">"setreuid"</span><span>); </span> </li> <li class="alt"><span> </span></li> <li> <span> </span><span class="comment">//note 执行将要执行linux系统命令 </span><span> </span> </li> <li class="alt"> <span> system(</span><span class="string">"/usr/bin/w"</span><span>); </span> </li> <li> <span> </span><span class="keyword">return</span><span> 0; </span> </li> <li class="alt"><span>} </span></li> </ol>
//note 由于wordpress编辑器的原因,请将此代码中头文件多余的空格去除
编译该文件gcc -o ipt -Wall w.c,这时会在当前目录下生成程序w。
改变此程序的属主chmod u+s ./w。
PHP执行
文件内容如下,放在web目录下,访问就会输出当前的服务器负载情况。
<ol class="dp-c"> <li class="alt"><span><span></span></span></li> <li> <span class="comment">//note key的验证过程 </span><span> </span> </li> <li class="alt"> <span class="keyword">if</span><span>(</span><span class="vars">$key</span><span> != </span><span class="vars">$authkey</span><span>) { </span> </li> <li> <span class="comment">// exit(key error); </span><span> </span> </li> <li class="alt"><span>} </span></li> <li><span> </span></li> <li class="alt"> <span class="vars">$last_line</span><span> = </span><span class="func">exec</span><span>(</span><span class="string">/usr/local/ismole/w</span><span>, </span><span class="vars">$retval</span><span>); </span> </li> <li><span> </span></li> <li class="alt"> <span class="vars">$returnArray</span><span> = </span><span class="func">explode</span><span>(</span><span class="string">"load average: "</span><span>, </span><span class="vars">$retval</span><span>[0]); </span> </li> <li> <span class="vars">$returnString</span><span> = </span><span class="vars">$returnArray</span><span>[1]; </span> </li> <li class="alt"><span> </span></li> <li> <span class="func">echo</span><span> </span><span class="vars">$returnString</span><span>; </span> </li> </ol>
按照上面的实例,我们可以用PHP来做任何我们想执行的Linux系统命令,SVN更新,服务器监控,备份,恢复,日常维护等等。比如《利用SVN搭建测试服务器》

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Lösung für Erlaubnisprobleme beim Betrachten der Python -Version in Linux Terminal Wenn Sie versuchen, die Python -Version in Linux Terminal anzuzeigen, geben Sie Python ein ...

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.

Viele Website -Entwickler stehen vor dem Problem der Integration von Node.js oder Python Services unter der Lampenarchitektur: Die vorhandene Lampe (Linux Apache MySQL PHP) Architekturwebsite benötigt ...

Verwenden Sie Python im Linux -Terminal ...

Konfigurieren Sie die Timing -Timing -Timing -Timing -Timing auf der MacOS -Plattform, wenn Sie die Timing -Timing -Timing -Timing von APScheduler als Service konfigurieren möchten, ähnlich wie bei NGIN ...
