提供4种方法:

- exec()、passthru()、system()、 shell_exec()。

  • 在开始介绍前,先检查下php配置文件php.ini中是有禁止这是个函数。找到 disable_functions,配置如下:
  • disable_functions =
  • 如果"disable_functions="后面有接上面四个函数,将其删除。
  • 默认php.ini配置文件中是不禁止你调用执行外部命令的函数的。

方法一:exec()

function exec(string $command,array[optional] $output,int[optional] $return_value)

  • php代码:
header("content-type:text/html;charset=gb2312");// echo exec("ipconfig",$file);// echo "</br>";// print_r($file);$a = exec("ipconfig",$out,$status);print_r($a);echo "<br>-----------------------------------------------------<br>";echo "<pre>";//print_r($out);var_dump($out);echo "</pre>";echo "<br>-----------------------------------------------------<br>";print_r($status);

执行结果:

Array( [0] => index.php [1] => test.php)

  • 知识点:
    exec 执行系统外部命令时不会输出结果,而是返回结果的最后一行,如果你想得到结果你可以使用第二个参数,让其输出到指定的数组,此数组一个记录代表输出的一行,即如果输出结果有20行,则这个数组就有20条记录,所以如果你需要反复输出调用不同系统外部命令的结果,你最好在输出每一条系统外部命令结果时清空这个数组,以防混乱。第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。

方法二:passthru()

function passthru(string $command,int[optional] $return_value)

  • 代码:
<?phppassthru("ls");
?>

  • 执行结果:
index.phptest.php

  • 知识点:
  • passthru与system的区别,passthru直接将结果输出到浏览器,不需要使用 echo 或 return 来查看结果,不返回任何值,且其可以输出二进制,比如图像数据。

方法三:system()

function system(string $command,int[optional] $return_value)

  • 代码:
<?phpsystem("ls /");
?>

  • 执行结果:
binbootcgroupdevetchomeliblost+foundmediamntoptprocrootsbinselinuxsrvsystmpusrvar

  • 知识点:
  • system和exec的区别在于system在执行系统外部命令时,直接将结果输出到浏览器,不需要使用 echo 或 return 来查看结果,如果执行命令成功则返回true,否则返回false。第二个参数与exec第三个参数含义一样。

方法四:反撇号`和shell_exec()

  • shell_exec() 函数实际上仅是反撇号 (`) 操作符的变体

代码:

<?phpecho `pwd`;
?>

  • 执行结果:
/var/www/html

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要戳这里PHP进阶架构师>>>视频、面试文档免费获取

或 者关注我每天分享技术文章

进阶PHP架构师​www.zhihu.com

exec 执行结果_php执行系统外部命令的4种方法相关推荐

  1. php exec 怎么确定执行成功_php执行系统外部命令的4种方法

    提供4种方法: - exec().passthru().system(). shell_exec(). 在开始介绍前,先检查下php配置文件php.ini中是有禁止这是个函数.找到 disable_f ...

  2. php执行系统外部命令的四种方法

    2019独角兽企业重金招聘Python工程师标准>>> 准备工作 出于安全性考虑,在通常情况下虚拟主机.XAMPP.DedeAMPZ等PHP运行环境都是禁止调用系统外部命令的.所以当 ...

  3. PHP 执行系统外部命令 system() exec() passthru()

    PHP中调用外部命令,可以用如下三种方法来实现: 方法一:用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shel ...

  4. python调用shell命令-在Python中执行shell命令的6种方法,你都知道吗?

    原标题:在Python中执行shell命令的6种方法,你都知道吗? Python经常被称作"胶水语言",因为它能够轻易地操作其他程序,轻易地包装使用其他语言编写的库.今天我们就讲解 ...

  5. python使用教程cmd啥意思-对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  6. python运行命令_对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  7. python运行方法_对python中执行DOS命令的3种方法总结

    1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息. import os os.system("ls") 2. ...

  8. 自学Linux命令的四种方法

    本文由 极客范 - 小道空空 翻译自 Danny Stieben.欢迎加入极客翻译小组,同我们一道翻译与分享.转载请参见文章末尾处的要求. 如果你想成为Linux高手,那么掌握一些Linux命令是必不 ...

  9. python中字符串怎么引用_Python:字符串中引用外部变量的3种方法

    方法一: username=input('username:') age=input('age:') job=input('job:') salary=input('salary') info1='' ...

最新文章

  1. php如何对数组进行分组,如何在PHP中对数组进行分组排序
  2. 初学Java ssh之Spring 第三篇
  3. org.apache.commons.io——FileUtils学习笔记
  4. c语言语法格式规范(1)常量的非法与合法
  5. ckeditor5自定义 vue_vue中的富文本编辑器CKEditor5
  6. 基于代码生成器的JAVA快速开发平台----JEECG 3.7.8 版本发布
  7. 前端遍历列表生成表格_图书作者的演练-创建列表页和添加表单框-flask
  8. 生活中的七个语音识别经典应用
  9. python 日期减一天_怎么用Python在指定日期上减去7天?
  10. (机器人学导论--运动学)(三)DH表达法顺向运动学
  11. 有关嵌入式的 github
  12. 修改Windows7启动画面与登录画面
  13. 了解速率控制模式:什么是 CBR、VBR、CRF和Capped-CRF?
  14. 仿Tumblr点赞心破碎动画
  15. ElasticSearch(ik分词器)+SpringBoot站内全文搜索解决方案
  16. 生成一个16位的随机数字
  17. 计算机自带输入法在哪里设置方法,Windows7设置默认输入法_Win7默认输入法怎么设置?-192路由网...
  18. Simulink自动代码生成5——控制函数原型(control function prototype)
  19. c语言步进电机驱动程序不正常怎么办,步进电机【C语言驱动程序】
  20. 概念肆虐:凭什么让“IPv9”横行无忌?

热门文章

  1. Java黑皮书课后题第3章:*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码。将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款
  2. Queue+Stack(C++,标准库中的队列和栈)
  3. Mac模拟慢速网络 - Network Link Conditioner 安装和使用
  4. linux下Intellij Idea 14的安装
  5. 【游山玩水】三清山旅游行程
  6. [Python图像处理] 三十六.OpenCV图像几何变换万字详解(平移缩放旋转、镜像仿射透视)
  7. 【python数据挖掘课程】二十九.数据预处理之字符型转换数值型、标准化、归一化处理
  8. Spark is not running in local mode, therefore the checkpoint directory must not be on the local……
  9. 《每日一题》48. Rotate Image 旋转图像
  10. 43. Multiply Strings 字符串相乘