exec 执行一个外部程序
发表日期:2021-07-01 08:56:10 | 来源: | | 浏览(1068) 分类:程序执行函数
exec
(PHP 4, PHP 5, PHP 7, PHP 8)
exec — 执行一个外部程序
说明
$command
, array &$output
= ?, int &$return_var
= ?): string
exec() 执行
command
参数所指定的命令。
参数
-
command
-
要执行的命令。
-
output
-
如果提供了
output
参数, 那么会用命令执行的输出填充此数组, 每行输出填充数组中的一个元素。 数组中的数据不包含行尾的空白字符,例如\n
字符。 请注意,如果数组中已经包含了部分元素,exec() 函数会在数组末尾追加内容。如果你不想在数组末尾进行追加, 请在传入 exec() 函数之前 对数组使用 unset() 函数进行重置。 -
return_var
-
如果同时提供
output
和return_var
参数, 命令执行后的返回状态会被写入到此变量。
范例
示例 #1 exec() 例程
<?php // 输出运行中的 php/httpd 进程的创建者用户名// (在可以执行 "whoami" 命令的系统上)echo exec('whoami'); ?>
注释
当用户提供的数据传入此函数,使用 escapeshellarg() 或 escapeshellcmd() 来确保用户欺骗系统从而执行任意命令。
注意:
如何程序使用此函数启动,为了能保持在后台运行,此程序必须将输出重定向到文件或其它输出流。否则会导致 PHP 挂起,直至程序执行结束。
注意:
在 Windows 下,exec() 函数会先启动 cmd.exe 来执行指定的命令。如果你希望启动一个额外的应用而不用先启动 cmd.exe 可使用 proc_open() 函数加上
bypass_shell
参数。
参见
- system() - 执行外部程序,并且显示输出
- passthru() - 执行外部程序并且显示原始输出
- escapeshellcmd() - shell 元字符转义
- pcntl_exec() - 在当前进程空间执行指定程序
- 执行运算符
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- escapeshellarg 把字符串转码为可以在 shell 命令里使用的参数(0)
- escapeshellcmd shell 元字符转义(0)
- exec 执行一个外部程序(0)
- passthru 执行外部程序并且显示原始输出(0)
- proc_close 关闭由 proc_open() 打开的进程并且返回进程退出码(0)
- proc_get_status 获取由 proc_open() 函数打开的进程的信息(0)
- proc_nice 修改当前进程的优先级(0)
- proc_open 执行一个命令,并且打开用来输入/输出的文件指针。(0)
- proc_terminate 杀除由 proc_open 打开的进程(0)
- shell_exec 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。(0)
- system 执行外部程序,并且显示输出(0)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)