本文给大家介绍有关php exec system shell_exec无法执行的问题,主要内容是讲解执行php exec() system() shell_exec()没有结果,结果为NULLD的方法,希望对需要的朋友有所帮助~

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

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

服务器上代码 index.php:

<?php    
$cmd = 'php -v';    
exec($cmd, $arr);    
echo '<pre>'    
var_dump($arr);
登录后复制

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

说明服务器没有开启php警用了exec();【推荐学习:PHP视频教程

解决办法:

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没结果?一文搞定!的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:cnblogs,如有侵犯,请联系admin@php.cn删除

  • 相关标签:exec php
  • 程序员必备接口测试调试工具:点击使用

    Apipost = Postman + Swagger + Mock + Jmeter

    Api设计、调试、文档、自动化测试工具

    自己动手手写一个MVC框架(40节精讲/巨细/新人进阶必看):立即学习

    快速了解框架底层运行原理+提高自身开发逻辑+新人必学课程

    https://www.php.cn/php-weizijiaocheng-498092.html

    最后修改日期: 2022-11-22

    留言

    撰写回覆或留言

    发布留言必须填写的电子邮件地址不会公开。