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搭建测试服务器》

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

DeepSeek adalah alat carian dan analisis pintar yang kuat yang menyediakan dua kaedah akses: versi web dan laman web rasmi. Versi web adalah mudah dan cekap, dan boleh digunakan tanpa pemasangan; Sama ada individu atau pengguna korporat, mereka dapat dengan mudah mendapatkan dan menganalisis data besar-besaran melalui DeepSeek untuk meningkatkan kecekapan kerja, membantu membuat keputusan dan menggalakkan inovasi.

Terdapat banyak cara untuk memasang DeepSeek, termasuk: Menyusun dari Sumber (untuk pemaju berpengalaman) menggunakan pakej yang dikompilasi (untuk pengguna Windows) menggunakan bekas docker (untuk yang paling mudah, tidak perlu bimbang tentang keserasian) Dokumen rasmi dengan berhati -hati dan menyediakannya sepenuhnya untuk mengelakkan masalah yang tidak perlu.

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Bitget adalah pertukaran cryptocurrency yang menyediakan pelbagai perkhidmatan perdagangan termasuk perdagangan tempat, perdagangan kontrak dan derivatif. Ditubuhkan pada tahun 2018, pertukaran itu beribu pejabat di Singapura dan komited untuk menyediakan pengguna dengan platform perdagangan yang selamat dan boleh dipercayai. Bitget menawarkan pelbagai pasangan perdagangan, termasuk BTC/USDT, ETH/USDT dan XRP/USDT. Di samping itu, pertukaran mempunyai reputasi untuk keselamatan dan kecairan dan menawarkan pelbagai ciri seperti jenis pesanan premium, perdagangan leverage dan sokongan pelanggan 24/7.

Ouyi Okx, pertukaran aset digital terkemuka di dunia, kini telah melancarkan pakej pemasangan rasmi untuk menyediakan pengalaman perdagangan yang selamat dan mudah. Pakej pemasangan OKX OUYI tidak perlu diakses melalui penyemak imbas. Proses pemasangan adalah mudah dan mudah difahami.
