PHP提供了 执行() 方法来执行或运行命令、程序或脚本。这个exec()方法可以简单地在操作系统中执行外部命令。例如,Linux的whoami命令可以对当前用户执行,返回的用户名可以在PHP应用程序中使用。
exec()方法语法
PHP exec()方法具有以下语法。
exec(string $command, array &$output, int &$result_code)
- $command是一种字符串类型,它是命令字符串的表示形式。
- &$output是存储已执行命令结果的数组变量。
- &$resultu code是一个整数,它将命令结果代码存储为整数。
exec()方法返回假布尔值或字符串,其中strinh是输出的最后一行。
执行命令
我们将从一个简单的例子开始。我们在Linux系统中执行“whoami”命令,并将结果或输出存储在名为$output的变量中。
<?php$output = null;$code = null;exec("whoami",$output,$code);print_r($output)?>
或者,我们可以提供我们想要作为字符串变量执行的命令,如下所示。在下面的示例中,我们将命令设置到名为$command的变量中。
<?php$output = null;$code = null;$command = "whoami";exec($command,$output,$code);print_r($output)?>
whoami是一个非常简单的命令,它返回一个项目,即当前用户的用户名。exec()命令可以执行返回更复杂结果的不同命令。“ls”命令列出当前工作目录文件和文件夹。
<?php$output = null;$code = null;$command = "ls";exec($command,$output,$code);print_r($output);?>
Array ( [0] => a.out [1] => cities.txt [2] => config.ttxt [3] => data1 [4] => data2 [5] => data3 [6] => data4 [7] => data5 ... [40] => text.txt [41] => thinclient_drives [42] => uniqip.txt [43] => userinput.py [44] => usomlist.txt [45] => Videos [46] => while.sh [47] => year )
我们可以看到输出总共有47项。输出用索引号存储每个项。输出包含当前工作目录内容。
使用选项和参数执行命令
exec()方法可用于执行和运行带有选项和参数的命令。这与在命令字符串中设置选项和参数的方式相同。在下面的示例中,使用“-l”选项和“/etc”参数执行“ls”命令。
<?php$output = null;$code = null;$command = "ls -l /var/log";exec($command,$output,$code);print_r($output);?>
![图片[1]-PHP exec()–执行命令和程序-cppku-C++库](https://www.cppku.com/wp-content/uploads/2021/02/wisetut_image.png)
执行Bash脚本
exec()方法还可以用来轻松地执行bash命令和脚本。如果脚本位于当前工作目录中,只需提供脚本名称,或者指定完整路径以防止出错。
<?php$output = null;$code = null;$command = "/home/ismail/backup.sh";exec($command,$output,$code);print_r($output);?>
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END