php exec system shell_exec无法执行,解决办法

php exec() system() shell_exec()无法执行,没有结果,结果为NULLD,解决办法

服务器上代码 index.php:

<?php
    $cmd = 'php -v';
    exec($cmd, $arr);
    echo '<pre>'
    var_dump($arr);

浏览器访问后,打印结果是:NULL

说明服务器没有开启php警用了exec();

解决办法:

1、加入函数查看当前运行的用户:

<?php
    var_dump(get_current_user());
    $cmd = 'php -v';
    exec($cmd, $arr);
    echo '<pre>'
    var_dump($arr);

显示:root

2、到服务器修改文件权限:

$ chmod 777 index.php

查看index.php的所属用户及权限:

$ ll

结果:

-rwxrwxrwx 1 root root    1595 Sep 20 10:18 index.php

3、查看php.ini 是否禁用了这些函数:

$ cd /usr/local/php/etc
$ vim php.ini

找到disable_functions = 


把exec, system,exec_shell去掉,用到哪个去哪个;

4、重启php服务,这一步很重要:

$ /etc/init.d/php-fpm restart 

然后进行测试,浏览器访问服务器结果:

大部分还是因为php.ini禁用exec函数,和文件的执行权限问题。

  

 

转载于:https://www.cnblogs.com/love-snow/articles/7560164.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值