今天小编给大家分享php中执行linux命令方法详解。 我们先从shell_exec来说 如何使用shell_exec在php里面执行shell命令, 先来试一下,使用php执行某个shell命令,该命令是mkdir testdir。 ?php $cmd = mkdir testdir;shell_exec($cmd); 在这个php脚本执行之
今天小编给大家分享php中执行linux命令方法详解。 我们先从shell_exec来说 如何使用shell_exec在php里面执行shell命令,先来试一下,使用php执行某个shell命令,该命令是mkdir testdir。
在这个php脚本执行之前,目录里面是这样子的: 执行之后,目录里面是如下图所示,多了一个testdir文件夹,这是通过我们刚刚在php脚本里面执行shell命令生成的
它的打印结果是: sh: line 0: source: test.sh: file not found ---the end---
可以从打印结果看到,即使运行某个shell命令的时候会出错,不会影响下面的php代码的执行。所以,如果shell命令执行失败了,我们也没办法用php的try-catch是捕获不到shell命令的错误。
它的打印结果是: sh: line 0: source: test.sh: file not found ---the end---
获取shell_exec的输出
打印出来的结果是 NULL 所以,我想,上面这个应该是命令没有任何输出,换一个有输出的命令,如下面代码;
它的打印结果是:
所以,如果想要用php执行shell命令,并且知道到底执行成功还是失败,那么可以在这个shell命令的后面加上2>&1,把错误输出到标准输出。这样就可以判断是执行失败还是执行成功。示例如下:
当然,官方手册里面除了有shell_exec,还有其他的,比如说exec。
看下面的示例代码:
打印结果如下: 再看一下system 这是system的函数说明,$return_var是0的时候表示命令执行成功。system函数的返回是命令的输出的最后一行的内容
看下面的示例代码:
打印结果为: string(0) "" int(0) 还有其他的,小编在这里就不一一介绍了。大家可以自己去试试吧! |
2019-06-28
2019-10-03
2019-07-04
2019-06-22
2019-02-12