函数名:pcntl_exec()
适用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7
函数描述:pcntl_exec()用于在当前进程中执行一个外部程序。
用法: bool pcntl_exec(string $path [, array $args [, array $envs]])
参数说明:
- $path:外部程序的路径。可以是可执行文件的绝对路径,或者是在环境变量中定义的可执行文件名。
- $args(可选):一个数组,包含外部程序的参数列表。数组的第一个元素是外部程序的文件名,后续元素是外部程序的参数。
- $envs(可选):一个数组,包含外部程序的环境变量。数组的元素是以"key=value"形式表示的环境变量。
返回值:
- 如果执行成功,该函数不会返回任何值。如果执行失败,该函数将返回false。
示例:
// 执行ls命令
pcntl_exec('/bin/ls', ['-l', '/tmp']);
// 执行自定义脚本
pcntl_exec('/usr/bin/php', ['/path/to/my_script.php', 'arg1', 'arg2']);
// 设置环境变量并执行命令
$envs = ['VAR1=value1', 'VAR2=value2'];
pcntl_exec('/usr/bin/env', ['echo', 'Hello World'], $envs);
注意事项:
- pcntl_exec()函数会完全替换当前进程的代码和数据,因此在执行该函数后的代码将不会被执行。
- 如果pcntl_exec()执行成功,当前进程将被外部程序替换,因此后续的代码将在新的进程中执行。
- 外部程序的执行结果将直接输出到控制台,而不是返回给调用者。