PHP的exec

1.exec( )基础介绍

exec()函数用来执行一个外部程序

开启exec()函数:

exec()函数是被禁用的,要使用这个函数必须先开启。

1.首先是 要关掉 安全模式 safe_mode = off
2.然后在看看 禁用函数列表 disable_functions = proc_open, popen, exec, system, shell_exec, 
这里要把 exec 去掉,3.重启 apache 就OK了。

2.exec()函数参数:

exec ( string $command [, array &$output [, int &$return_var ]] );

$command:表示要执行的命令。

$output:如果提供了 output 参数, 那么会用命令执行的输出填充此数组, 每行输出填充数组中的一个元素。 数组中的数据不包含行尾的空白字符,例如 \n 字符。 请注意,如果数组中已经包含了部分元素,exec() 函数会在数组末尾追加内容。如果你不想在数组末尾进行追加, 请在传入 exec() 函数之前 对数组使用 unset() 函数进行重置。

$return_var:如果同时提供 output 和 return_var 参数, 命令执行后的返回状态会被写入到此变量。(0为成功,其他值为失败)

3.exec( )使用

在php中使用了该方法,在浏览器中没有反应,但是在控制台直接执行命令是可以的。 将命令写在test.php文件内,在控制通过命令 php test.php执行也是成功的。(该现象应该是CGI模式下和CLI模式下执行的区别)

(用浏览器执行,就只能是CGI模式,cli需要在终端执行)

exec('mysql -u root -proot -Dtest<test.sql',$out,$status);
这样写是不会显示错误信息的,可在命令后边添加 “2>&1” 将错误显示出来。如下: 

exec('mysql -u root -proot -Dtest<test.sql 2>&1',$out,$status);


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值