PHP执行Shell

PHP执行Shell

PHP有多种执行Shell命令的方法,以下是其中一些常用(或能用)的方法:

exec函数

1
$result = exec('shell command');

这会在Shell中执行指定的命令,并将结果保存在变量$result中。

shell_exec函数

1
$result = shell_exec('shell command');

这与exec函数类似,但是会返回命令的完整输出结果。

system函数

1
system('shell command', $return_value);

该函数将命令的输出直接打印到屏幕上,并将返回值存储在$return_value中。

passthru函数

1
passthru('shell command');

该函数直接将命令的输出打印到屏幕上,而不会返回任何结果。

是的,还有其他一些执行Shell命令的方法。以下是其中的一些:

popen函数

1
2
3
$handle = popen('shell command', 'r');
$result = fread($handle, 8192);
pclose($handle);

这个函数可以打开一个管道,并执行Shell命令。您可以使用fread函数读取命令的输出,并使用pclose函数关闭管道。

proc_open函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$descriptorspec = array(
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("pipe", "w")
);

$process = proc_open('shell command', $descriptorspec, $pipes);
if (is_resource($process)) {
$output = stream_get_contents($pipes[1]);
fclose($pipes[1]);

$error = stream_get_contents($pipes[2]);
fclose($pipes[2]);

proc_close($process);
}

这个函数可以打开一个进程,并执行Shell命令。您可以使用stream_get_contents函数读取标准输出和错误输出。

backtick操作符(反引号)

1
$result = `shell command`;

在PHP中,您可以使用backtick操作符将Shell命令嵌入到字符串中,然后将其执行。执行结果将作为字符串返回给变量$result。可以使用echo $result;来输出结果。


PHP执行Shell
https://blog.qingyi-studio.top/2023/09/13/PHP执行Shell/
作者
Grey-Wind
发布于
2023年9月13日
更新于
2024年8月27日
许可协议