资讯专栏INFORMATION COLUMN

PHP执行linux命令的6个函数

LiangJ / 1459人阅读

摘要:一般情况下,很少会用去执行命令,不过特殊情况下,你也许会用到这些函数。以前我知道有二个函数可以执行命令,一个是一个是。其实有很多的,结合手册内容,介绍以下个函数。

一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数。以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec。其实有很多的,结合手册内容,介绍以下6个函数。

1,exec函数

$test = "ls /tmp/test"; //ls是linux下的查目录,文件的命令
exec($test,$array); //执行命令
print_r($array);
?>

返回结果如下:

[root@krlcgcms01 shell]# php ./exec.php
Array
(
[0] => 1001.log
[1] => 10.log
[2] => 10.tar.gz
[3] => aaa.tar.gz
[4] => mytest
[5] => test1101
[6] => test1102
[7] => weblog_2010_09
)

2,system函数
$test = "ls /tmp/test";
$last = system($test);
print "last: $lastn";
?>
[root@krlcgcms01 shell]# php system.php
1001.log
10.log
10.tar.gz
aaa.tar.gz
mytest
test1101
test1102
weblog_2010_09
last:weblog_2010_09

3,passthru函数

$test = "ls /tmp/test";
passthru($test);
?>

4,popen函数

$test = "ls /tmp/test";
$fp = popen($test,"r"); //popen打一个进程通道
while (!feof($fp)) { //从通道里面取得东西
$out = fgets($fp, 4096);
echo $out; //打印出来
}
pclose($fp);
?>

5,proc_open函数

$test = "ls /tmp/test";
$array = array(
array("pipe","r"), //标准输入
array("pipe","w"), //标准输出内容
array("pipe","w") //标准输出错误
);
$fp = proc_open($test,$array,$pipes); //打开一个进程通道
echo stream_get_contents($pipes[1]); //为什么是$pipes[1],因为1是输出内容
proc_close($fp);
?>

6,shell_exec函数

$test = "ls /tmp/test";
$out = shell_exec($test);
echo $out;
?>
popen,passthru,proc_open,shell_exec的返回结果如下:
[root@krlcgcms01 shell]# php test.php
1001.log
10.log
10.tar.gz
aaa.tar.gz
mytest
test1101
test1102
weblog_2010_09

我能发现的就这几个函数,能执行linux下的命令,我想应当还有

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22733.html

相关文章

  • Linux常用文本处理命令

    摘要:命令说明以上命令,只会对满足规则的文件进行重命名操作,而忽略了条件查找出来的文件,因此并不能满足要求,另外一定要注意命令结尾的空格和。 在使用Linux的过程中,最常做的操作就是对文件/文本进行一些处理。本文简单介绍下Linux中常用的文本处理命令,主要包括以下命令: find / grep / sort / cut / awk / sed / uniq / tee / tr / di...

    2501207950 评论0 收藏0
  • Linux常用文本处理命令

    摘要:命令说明以上命令,只会对满足规则的文件进行重命名操作,而忽略了条件查找出来的文件,因此并不能满足要求,另外一定要注意命令结尾的空格和。 在使用Linux的过程中,最常做的操作就是对文件/文本进行一些处理。本文简单介绍下Linux中常用的文本处理命令,主要包括以下命令: find / grep / sort / cut / awk / sed / uniq / tee / tr / di...

    nifhlheimr 评论0 收藏0
  • 信息安全第二次培训—命令执行 补档

    摘要:信息安全第二次培训命令执行补档前言正文基础函数及系统命令命令执行漏洞前言这次的培训因为种种原因,效果不太好,录屏也没有录上。如图,是用命令进入根目录下的目录。 信...

    yck 评论0 收藏0
  • Linux基础

    摘要:动态分配本身,虚拟硬盘,本身电脑磁盘会根据虚拟磁盘存放文件大小情况动态分配磁盘空间。虚拟磁盘最多占据大小。磁盘的区分是通过磁柱,盘符与物理磁盘建立联系的过程称之为挂载。主人,同组,其他组。设置同组读写权限,主人和其它组没有权限。 操作系统 Win unix/Linux 服务器 (php apache mysql) 安装虚拟机 需要一台裸机电脑,可以使用虚拟机(VM[大小500M],...

    Honwhy 评论0 收藏0
  • 一键安装LNMP或LAMP Web环境实现Linux服务器部署 PHP MySQL Nginx/Ap

    摘要:目前,我们看到的老蒋采用的部署的环境,在镜像中配置,于是我们会称作为。有没有一件傻瓜式安装工具脚本呢这里老蒋要推荐的来自国内比较老牌且一直更新维护的一键安装包,我们可以较为直观且无人值守的安装需要的网站服务器环境。如今我们建站较多的还是会选择VPS云服务器,很少会去选择虚拟主机,固然前者有很多的优点。不过相比虚拟主机不同的是,VPS云服务器需要我们自己配置WEB环境,而且我们较多的还是会选择...

    IntMain 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<