php 运行linux命令 与 linux下命令行执行php

时间:2022-11-15 05:44:30

1.php运行linux命令

exec函数:string exec(string command, string [array], int [return_var]); 

执行函数后不输出结果,返回最后一行shell结果

       要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态会填入 return_var 中

system函数: string system(string command, int [return_var]);

      本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中

passthru函数:本函数类似 Exec() 用来执行 command 指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中。若输出的资料是二进位的资料,并且需要输出到浏览器中的话,使用本函数就相当合适了。例如使用 pbmplus 工具来执行指令,并返回二进位的图形资料。可以先配置返回资料的标头 (header) 为 Content-type: image/gif,然后呼叫 pbmplus 程序处理图形资料,并将二进位的图形资料直接返回浏览器。

相同点:都可以获得命令执行的状态码

例子:exec('cd /etc');

注意:用这三个函数执行linux命令时最好用escapeshellcmd这个函数先过滤一下命令字符,防破解攻击。

2.linux下命令行执行php

/usr/local/php/bin/php /var/www/phpinfo.php 参数php的安装路径下的bin目录下面的php命令 然后后面跟php文件 再接着就是跟参数

然后在php代码中可以通过$_SERVER['argv'][1]来获取第一个参数,以此类推。。。。。。。。