php中shell_exec() 与 exec()函数的区别

shell_exec()函数是PHP中的一个内置函数,用于通过shell执行命令并以字符串的形式返回完整的输出。shell_exec是backtick操作符的别名,用于*nix。如果命令失败,则返回NULL,并且这些值对于错误检查不可靠。

语法:

string shell_exec( $cmd )

参数:此函数接受单个参数$cmd,该参数用于保存将要执行的命令。

返回值:此函数返回已执行的命令,如果发生错误则返回NULL。

注意:当PHP以安全模式运行时,将禁用此功能。

例:

  1. <?php
  2. // 使用ls命令来执行shell_exec函数
  3. $output = shell_exec('ls');
  4. // 显示所有文件和目录的列表
  5. echo "<pre>$output</pre>";
  6. ?>

输出:

gfg.php

index.html

demo.php

exec()函数是PHP中的内置函数,用于执行外部程序并返回输出的最后一行。如果没有正确运行命令,它也返回NULL。

语法:

string exec( $command, $output, $return_var )

参数:此函数接受上述三个参数,如下所述:

$command:该参数用于保存将要执行的命令。

$output:此参数用于指定将使用命令的每一行输出填充的数组。

$ return_var: $return_var参数与输出参数一起出现,然后它返回已执行命令的状态将写入此变量。

返回值:该函数返回执行的命令,请务必设置并使用输出参数。

例:

  1. <?php
  2. echo exec('iamexecfunction');
  3. ?>

输出:

demo.php