PHP执行普通shell命令流程解析

 更新时间:2020年08月24日 11:46:01   投稿:yaominghui  
这篇文章主要介绍了PHP执行普通shell命令流程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这里演示一些普通的shell命令

  php执行shell命令,可以使用下面几个函数:

string system ( string $command [, int &$return_var ] )
string exec ( string $command [, array &$output [, int &$return_var ]] )
void passthru ( string $command [, int &$return_var ] )

  注意的是:这三个函数在默认的情况下,都是被禁止了的,如果要使用这几个函数,就要先修改php的配置文件php.ini,查找关键字disable_functions,将这一项中的这几个函数名删除掉,然后注意重启apache。

  首先看一下system()和passthru()两个功能类似,可以互换:

<?php
  $shell = "ls -la";
  echo "<pre>";
  system($shell, $status);
  echo "</pre>";
  //注意shell命令的执行结果和执行返回的状态值的对应关系
  $shell = "<font color='red'>$shell</font>";
  if( $status ){
    echo "shell命令{$shell}执行失败";
  } else {
    echo "shell命令{$shell}成功执行";
  }
?>

  执行结果如下:

  

  注意,system()会将shell命令执行之后,立马显示结果,这一点会比较不方便,因为我们有时候不需要结果立马输出,甚至不需要输出,于是可以用到exec()

    exec()的使用示例:

<?php
  $shell = "ls -la";
  exec($shell, $result, $status);
  $shell = "<font color='red'>$shell</font>";
  echo "<pre>";
  if( $status ){
    echo "shell命令{$shell}执行失败";
  } else {
    echo "shell命令{$shell}成功执行, 结果如下<hr>";
    print_r( $result );
  }
  echo "</pre>";
?>

  运行结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • golang与PHP输出excel示例

    golang与PHP输出excel示例

    这篇文章主要介绍了golang与PHP输出excel的方法,结合实例形式对比分析了Go语言及php输出Excel文件的相关技巧,需要的朋友可以参考下
    2016-07-07
  • php封装的数据库函数与用法示例【参考thinkPHP】

    php封装的数据库函数与用法示例【参考thinkPHP】

    这篇文章主要介绍了php封装的数据库函数与用法,基于thinkPHP中数据库操作相关代码整理简化而来,包括针对数据库的设置、连接、查询及日志操作等功能,简单实用,需要的朋友可以参考下
    2016-11-11
  • Laravel中如何轻松容易的输出完整的SQL语句

    Laravel中如何轻松容易的输出完整的SQL语句

    这篇文章主要给大家介绍了关于Laravel中如何轻松容易的输出完整的SQL语句的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • php代码审计之ThinkPHP5的文件包含漏洞详解

    php代码审计之ThinkPHP5的文件包含漏洞详解

    这篇文章主要介绍了php代码审计之ThinkPHP5的文件包含漏洞,较为详细的分析了thinkphp5文件包含漏洞的形成原因与危害,需要的朋友可以参考下
    2023-06-06
  • php使用preg_match()函数验证ip地址的方法

    php使用preg_match()函数验证ip地址的方法

    这篇文章主要介绍了php使用preg_match()函数验证ip地址的方法,涉及php针对数字及字符串的正则匹配操作相关技巧,需要的朋友可以参考下
    2017-01-01
  • ajax php 实现写入数据库

    ajax php 实现写入数据库

    看到同学背词用的生词本,觉得很不错.正好自己也在看书,为了有一个好的效果,于是想做一个类似生词本的,可以存知识点,和查看知识点的.
    2009-09-09
  • PHP列出MySQL中所有数据库的方法

    PHP列出MySQL中所有数据库的方法

    这篇文章主要介绍了PHP列出MySQL中所有数据库的方法,涉及php操作数据库的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • PHP中加密解密函数与DES加密解密实例

    PHP中加密解密函数与DES加密解密实例

    这篇文章主要介绍了PHP中加密解密函数与DES加密解密,以实例形式分析了常用的PHP加密解密算法encrypt与DES加密解密的原理及应用方法,非常具有实用价值,需要的朋友可以参考下
    2014-10-10
  • php自动载入类用法实例分析

    php自动载入类用法实例分析

    这篇文章主要介绍了php自动载入类用法,结合实例形式分析了php自动载入类的原理、用法与相关注意事项,需要的朋友可以参考下
    2016-06-06
  • PHP读取xml方法介绍

    PHP读取xml方法介绍

    在php开发中,我们经常会越到读取xml文件的情况,这里简单总结下一些方法,方便需要的朋友
    2013-01-01

最新评论