函数名称:shell_exec()
适用版本:PHP 4, PHP 5, PHP 7
函数描述: shell_exec() 函数执行指定的 shell 命令,并将命令的输出作为字符串返回。与 exec() 函数不同的是,shell_exec() 函数返回的是命令输出的完整结果,而不仅仅是最后一行。
语法: shell_exec ( string $cmd ) : string|NULL
参数:
- $cmd: 必需,要执行的 shell 命令。
返回值:
- 如果成功执行命令,则返回命令输出的字符串结果。
- 如果命令执行失败或者禁用了该函数,则返回 NULL。
示例1:
$output = shell_exec('ls -l');
echo "<pre>$output</pre>";
上述示例将执行 "ls -l" 命令,并将结果赋值给 $output 变量。然后,使用 <pre>
标签将结果以原样输出到浏览器。
示例2:
$output = shell_exec('php -v');
echo "<pre>$output</pre>";
上述示例将执行 "php -v" 命令,显示 PHP 版本信息,并将结果赋值给 $output 变量。然后,使用 <pre>
标签将结果以原样输出到浏览器。
注意事项:
- shell_exec() 函数在执行 shell 命令时依赖于操作系统的可用性,因此在不同的操作系统上可能会有不同的结果。
- 为了安全起见,应该谨慎使用 shell_exec() 函数,并且只允许执行受信任的命令。
- 在使用 shell_exec() 函数时,需要确保 PHP 的配置文件中没有禁用该函数(disable_functions 配置项)。
- 在某些情况下,可能需要使用绝对路径来执行命令,例如 '/usr/bin/ls'。
- 如果命令需要用户输入,请使用其他函数(如 exec() 或 passthru()),因为 shell_exec() 函数不支持与 shell 进程进行交互。