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


Posted in PHP onAugust 24, 2020

这里演示一些普通的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}成功执行";
  }
?>

执行结果如下:

PHP执行普通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>";
?>

运行结果如下:

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

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

PHP 相关文章推荐
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
PHP代码审核的详细介绍
Jun 13 PHP
php使用session二维数组实例
Nov 06 PHP
PHP加密解密类实例分析
Apr 20 PHP
PHP中is_dir()函数使用指南
May 08 PHP
PHP正则验证Email的方法
Jun 15 PHP
PHP中call_user_func_array回调函数的用法示例
Nov 26 PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 PHP
PHP网页安全认证的实例详解
Sep 28 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
php使用fullcalendar日历插件详解
Mar 06 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 #PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
Aug 24 #PHP
WordPress免插件实现面包屑导航的示例代码
Aug 20 #PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 #PHP
Laravel相关的一些故障解决
Aug 19 #PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 #PHP
php提高脚本性能的4个技巧
Aug 18 #PHP
You might like
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
php中substr()函数参数说明及用法实例
2014/11/15 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
Javascript 错误处理的几种方法
2009/06/13 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
AngularJS 服务详细讲解及示例代码
2016/08/17 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
ReactNative实现Toast的示例
2017/12/31 Javascript
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
[39:07]LGD vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
Python中的rjust()方法使用详解
2015/05/19 Python
python实现中文转换url编码的方法
2016/06/14 Python
详解Python装饰器由浅入深
2016/12/09 Python
简单实现python画圆功能
2018/01/25 Python
python实现类之间的方法互相调用
2018/04/29 Python
NumPy 数组使用大全
2019/04/25 Python
python切片的步进、添加、连接简单操作示例
2019/07/11 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
2020/01/02 Python
客服工作职责
2013/12/11 职场文书
教育局长自荐信范文
2013/12/22 职场文书
自我评价如何写好?
2014/01/05 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
学生安全责任书模板
2014/07/25 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
素质教育培训心得体会
2016/01/19 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python
mongodb数据库迁移变更的解决方案
2021/09/04 MongoDB
Go语言基础map用法及示例详解
2021/11/17 Golang