php中popen,exec,system,passthru到底有多大区别

发布网友 发布时间:2022-04-06 01:51

我来回答

2个回答

懂视网 时间:2022-04-06 06:12

php中exec和system的区别:system执行外部程序并且显示输出,它可以输出和返回结果;exec执行外部程序不输出结果而是返回结果的最后一行,但如果添加第二个参数array,也可以得到完整的结果。

推荐:《PHP视频教程》

在PHP中调用外部命令,可以用exec 及 system来实现:

system() ---执行外部程序,并且显示输出

原型:

string system (string command [, int return_var])

system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。

返回结果

成功返回0,

失败(命令不存在等原因) 返回 非0值

exec() ---执行外部程序

原型:

string exec (string command [, string array [, int return_var]])

exec ()函数与system()类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array 可以得到完整的结果,方法是把结果逐行追加到array的结尾处。所以如果array不是空的,在调用之前最好用unset()最它清掉。只有指定了第二 个参数时,才可以用第三个参数,用来取得命令执行的状态码。

例子:

exec("/bin/ls -l"); 
exec("/bin/ls -l", $res); 
exec("/bin/ls -l", $res, $rc);

热心网友 时间:2022-04-06 03:20

是不是函数未定义,这几个函数模块没有开启,所以不支持,找到模块函数将注释去掉,重启apache试试

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com