php执行系统命令函数 PHP怎么执行Linux系统命令函数_第1页
php执行系统命令函数 PHP怎么执行Linux系统命令函数_第2页
php执行系统命令函数 PHP怎么执行Linux系统命令函数_第3页
php执行系统命令函数 PHP怎么执行Linux系统命令函数_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文格式为word版,下载可任意编辑php执行系统命令函数 php怎么执行linux系统命令函数 php执行linux系统命令的函数怎么使用?下面就让我告知大家php执行linux系统命令函数的方法吧。 php执行linux系统命令函数的方法 system函数 说明:执行外部程序并显示输出资料。 语法:string system(string command, int return_var); 返回值: 字符串 具体介绍: 本函数就像是 c 语中的函数 system(),用来执行指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 return_va

2、r 中。同样值得留意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用 escapeshellcmd()。若 php 以模块式的执行,本函数会在每一行输出后自动更新 web 服务器的输出缓冲暂存区。若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用 passthru()。 实例代码: 代码如下: ?php $last_line = system(ls, $retval); echo last line of the output: . $last_line; echo hr /return value: . $retval; ? exec函数 说明:执行

3、外部程序。 语法:string exec(string command, string array, int return_var); 返回值: 字符串 具体介绍: 本函数执行输入 command 的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最终一行;若需要完整的返回字符串,可以使用 passthru() 这个函数。 要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态会填入 re

4、turn_var 中。 值得留意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用 escapeshellcmd()。 实例代码: 代码如下: ?php echo exec(whoami); ? popen函数 说明:打开文件。 语法:int popen(string command, string mode); 返回值: 整数 具体介绍: 本函数执行指令开档,而该文件是用管道方式处理的文件。用本函数打开的文件只能是单向的 (只能读或只能写),而且肯定要用 pclose() 关闭。在文件操作上可使用 fgets()、fgetss() 与 fputs()。若是开档发生错误

5、,返回 false 值。 实例代码: 代码如下: ? $fp = popen(/bin/ls,r ); ? php监控linux服务器负载 在实际项目的应用中,我们由于各种条件的现实,利用php来实现服务器负载监控将是一种更为敏捷的方式。 由于web server以及php的实现方式所限,我们在现实环境中很难利用php去调用一些linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用php去执行此c程序。 c程序 首先写个c文件,比如/usr/local/ismole/w.c 代码如下: #includestdio.h

6、#includestdlib.h #includesystypes.h #includeunistd.h int main() uid_t uid ,euid; /note 获得当前的uid uid = getuid(); /note 获得当前euid euid = geteuid(); /note 交换这两个id if(setreuid(euid, uid) perror(setreuid); /note 执行将要执行linux系统命令 system(/usr/bin/w); return0; 编译该文件gcc -o w -wall w.c,这时会在当前名目下生成程序w。转变此程序的属主ch

7、mod u+s ./w。 php执行 文件内容如下,放在web名目下,访问就会输出当前的服务器负载状况。 代码如下: ?php /* more original php framwork copyright (c) 2021 - 2021 ismole inc. $id: servermonitor.php 408 2021-12-02 08:07:40z kimi $ */ /note key的验证过程 if($key != $authkey) / exit(key error); $last_line = exec(/usr/local/ismole/w, $retval); $returnarray = expl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论