Blogger Information
Blog 263
fans 3
comment 2
visits 113336
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php中执行shell脚本/shell命令/生成shell脚本的实现方法(一)(*)
福哥的博客
Original
6675 people have browsed it

执行 shell 命令 :

<?php
//亲测
header("Content-type:text/html;charset=utf-8");
//header("Content-type:text/html;charset=utf-8");
//$message=shell_exec(("ipconfig");
//$message=system("ipconfig");
//$message=exec("ipconfig");
//$message=passthru("ipconfig");
echo "<pre>";
echo "运行结果:".$message."<br/>";
echo "<pre>";
?>
<?php
$message=shell_exec("sudo /usr/local/nginx/sbin/nginx -t 2>&1");
echo "运行结果:".$message."<br/>";
?>

以上代码直接在PHP中执行SHELL语句。
如果有返回值,其中的 2>&1 是必须的 它负责重定向输出strerr 转到strout 输出。
否则返回结果会为空。


php下执行shell命令可以用system、exec之类的,但是每个单独的system命令都是分别调用shell的,每次的环境都要重新初始化。
因此,如果用php执行多条命令连续的操作,则不能通过多条system实现功能。

本文提供以下二种方法,供大家参考。

1,用php生成shell文件并执行它,完事后删除

<?php
file_put_contents('tmp.sh',"cd /usr/local
echo 'string'
ls $callback");
system('tmp.sh');
?>

多条命令,直接换行即可。

2,多条命令直接写在一条语句中,如下:

system("cd {$path1};if [ ! -d {$path2} ];then \n { mkdir -p {$path2} \n 
chmod -R 777 {$path2} \n } \n fi;find -name '{$etaskid}-{$sid}*' -print |
 while read na


执行 shell 脚本(亲测) :


<?php
    exec("make.sh");
?>

make.sh 文件

shell脚本
#!/bin/bash
#set -x
mkdir aaaaaaaaaaaaa

          


http://www.jb51.net/article/1716.htm

http://www.jb51.net/article/54015.htm

http://www.jb51.net/article/29745.htm

http://www.jb51.net/article/57118.htm

http://blog.csdn.net/lxwxiao/article/details/8513355

http://www.cnblogs.com/microtiger/p/6251129.html

http://blog.csdn.net/hk_5788/article/details/48581783

https://wenku.baidu.com/view/9982af210740be1e650e9aa2.html

http://blog.csdn.net/rogershy/article/details/11662491       


Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post