Heim  >  Artikel  >  Backend-Entwicklung  >  PHP中exec函数和shell_exec函数的区别_php实例

PHP中exec函数和shell_exec函数的区别_php实例

WBOY
WBOYOriginal
2016-06-07 17:16:51741Durchsuche

这两个函数都是执行Linux命令函数,不同的是获取返回结果不一样,exec只能获取最后一行数据,shell_execu则可以获取全部数据。

假如脚本路径下有如下文件:

复制代码 代码如下:

-bash-4.1# ll
总用量 12
-rw-rw-r--. 1 www web 133  7月 16 15:00 a.php
-rw-r--r--. 1 lee web  59  2月 29 17:05 b.php
-rw-r--r--. 1 lee web  81  3月  8 17:00 c.php

exec例子
复制代码 代码如下:

/**
 * exec与shell_exec的区别
 * 琼台博客
 */
$data = exec('/bin/ls -l');
echo '
';<br>
print_r($data);<br>
echo '
';
?>

执行结果
复制代码 代码如下:

-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php

shell_exec例子
复制代码 代码如下:

/**
 * exec与shell_exec的区别
 * 琼台博客
 */
$data = shell_exec('/bin/ls -l');
echo '
';<br>
print_r($data);<br>
echo '
';
?>

执行结果
复制代码 代码如下:

total 12
-rw-rw-r--. 1 www web 139 Jul 16  2012 a.php
-rw-r--r--. 1 lee web  59 Feb 29 17:05 b.php
-rw-r--r--. 1 lee web  81 Mar  8 17:00 c.php

所以平时使用exec函数的童鞋注意了,如果你需要获取全部返回信息,就应该使用shell_exec函数,当然,如果命令执行结果只有一行返回信息,那么使用哪个都无所谓。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn