system()
输出行为:直接输出命令的标准输出(STDOUT),输出所有结果。
返回值:成功时返回所有输出;失败时返回false
。
状态码:可通过第二个参数获取命令的退出状态码。
1 | $last_line = system('ls -la', $status_code); |
exec()
输出行为:默认不直接输出结果,需通过第二个参数捕获完整输出数组。
返回值:成功时返回命令的最后一行输出(若要全部输出,需要第二个参数捕获完整输出数组,然后输出该数组);失败时返回false
。
状态码:通过第三个参数获取退出状态码。
1 | exec('ls -la', $output, $status_code); |
shell_exec()
和反引号运算符(`)输出行为:不直接输出结果,返回完整输出字符串。
返回值:成功时返回完整的输出字符串;失败或空输出时返回null
。
1 | $result = shell_exec('ls -la'); |
passthru()
输出行为:直接输出原始二进制数据(如图像、音频)到浏览器。
返回值:无输出内容,但可通过第二个参数获取状态码。
1 | passthru('cat image.jpg', $status_code); |