PHP 调用shell命令
2017-06-27 13:40
204 查看
可以使用的命令:
popen
fpassthru
shell_exec
exec
system
打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。
返回一个和 fopen() 所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose() 来关闭。此指针可以用于 fgets() ,fgetss() 和 fwrite() 。
如果出错返回 FALSE 。
执行cmd命令,命令的结果存在返回结果中;
本函数在安全模式 下被禁用。
参数:
command
将要执行的命令
output
如果指定了output参数,则对应的array数组将会填满该命令输出的每一行。
return_var
如果指定了return_var参数,注意,return_var参数只有output参数被设定后才能指定,那么该命令的执行状态将会以结果参数的形式返回给该变量。
返回值:
返回改名了的最后一行结果。
范例
例子 1. An exec() example
[root@south4 demo]# vi test.PHP
#!/usr/bin/php -q
<?php
exec('ls /etc',$results,$ret);
echo $results[5] . "/n";
echo $results[12]. "/n";
echo $results[3]. "/n";
echo $ret;
?>
[root@south4 demo]# ./test.php
aliases
audit
adjtime
0
system是开一个bash进程的,执行完毕之后,就会释放,如下就会达不到目的:
system("cd /home/y/share/NBHadoop/scripts");
system("sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");
可以写成:
system("cd /home/y/share/NBHadoop/scripts;sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");
popen
fpassthru
shell_exec
exec
system
1.popen
resource popen ( string command, string mode )打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。
返回一个和 fopen() 所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose() 来关闭。此指针可以用于 fgets() ,fgetss() 和 fwrite() 。
如果出错返回 FALSE 。
2.shell_exec
string shell_exec ( string cmd )执行cmd命令,命令的结果存在返回结果中;
本函数在安全模式 下被禁用。
3.exec
string exec ( string command [, array &output [, int &return_var]] )参数:
command
将要执行的命令
output
如果指定了output参数,则对应的array数组将会填满该命令输出的每一行。
return_var
如果指定了return_var参数,注意,return_var参数只有output参数被设定后才能指定,那么该命令的执行状态将会以结果参数的形式返回给该变量。
返回值:
返回改名了的最后一行结果。
范例
例子 1. An exec() example
[root@south4 demo]# vi test.PHP
#!/usr/bin/php -q
<?php
exec('ls /etc',$results,$ret);
echo $results[5] . "/n";
echo $results[12]. "/n";
echo $results[3]. "/n";
echo $ret;
?>
[root@south4 demo]# ./test.php
aliases
audit
adjtime
0
4.system
string system ( string command [, int &return_var] )system是开一个bash进程的,执行完毕之后,就会释放,如下就会达不到目的:
system("cd /home/y/share/NBHadoop/scripts");
system("sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");
可以写成:
system("cd /home/y/share/NBHadoop/scripts;sudo -u yahoo ./nb_halfhourly.sh $yes_halfHour");
相关文章推荐
- php调用系统shell命令自动更新线上网站代码为git版本库最新版
- PHP 调用shell命令
- php通过exec调用shell命令导致乱码问题
- php调用shell命令并实时获取返回内容
- PHP 调用shell命令
- gitlab webhook php exec 调用 shell 脚本。shell 脚本中调用 git pull 命令无法执行。
- php web端不能调用shell_exec运行linux命令(unoconv为例)
- php页面调用shell命令的问题
- PHP调用python,shell命令执行成功,web运行失败
- 用PHP执行shell命令
- Del命令参数 vb调用shell
- Linux系统下查看文件调用情况Shell命令
- 六种用ruby调用执行shell命令的方法
- 一个有用函数:python调用shell命令
- PHP调用系统命令修改IP,netmask,gateway,mac,dns
- 在pl/sql中调用shell命令的4种方法
- 六种调用shell命令的方法
- Linux系统下查看文件调用情况Shell命令
- shell脚本和命令调用
- C/C++程序调用shell命令