本篇内容主要讲解“执行php exec system shell_exec没结果怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“执行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函数,和文件的执行权限问题。
到此,相信大家对“执行php exec system shell_exec没结果怎么解决”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!