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>"; ?>
运行结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
使用php shell命令合并图片的代码
复制代码 代码如下: #!/usr/local/bin/php -q author:freemouse <?php // 下面是说明. print ("本程序用于合并2张 640x480大小的.\n"); print ("图片,并将其转化为一张 400x300 大小的图片\n"); print ("需要指定存放合成前图片(a.jpg,b.jpg)的默认目录\n"); print ("生成的图片将会保存为c.jpg\n")
-
C++/Php/Python 语言执行shell命令的方法(推荐)
编程中经常需要在程序中使用shell命令来简化程序,这里记录一下. 1. C++ 执行shell命令 #include <iostream> #include <string> #include <stdio.h> int exec_cmd(std::string cmd, std::string &res){ if (cmd.size() == 0){ //cmd is empty return -1; } char buffer[1024] = {0}; s
-
php命令行写shell实例详解
php 可以像java perl python 那样运行,今天发现如果我早早知道这个,或许我不会去学习java 和 python 当年学java不过为了一个程序放在服务器上,不停的跑啊跑,原来 php 也可以. php -h Usage: php [options] [-f] <file> [--] [args...] php [options] -r <code> [--] [args...] php [options] [-B <begin_code>] -R &l
-
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
所有这些命令都衍生一个子进程,用于运行您指定的命令或脚本,并且每个子进程会在命令输出写到标准输出 (stdout) 时捕捉它们. shell_exec() shell_exec() 命令行实际上仅是反撇号 (`) 操作符的变体.如果您编写过 shell 或 Perl 脚本,您就知道可以在反撇号操作符内部捕捉其他命令的输出.例如,清单 1 显示了如何使用反撇号在当前目录中获取每个文本(.txt)的单词计数. 清单 1. 使用反撇号计算单词数量 复制代码 代码如下: #! /bin/sh numbe
-
php使用exec shell命令注入的方法讲解
使用系统命令是一项危险的操作,尤其在你试图使用远程数据来构造要执行的命令时更是如此.如果使用了被污染数据,命令注入漏洞就产生了.exec()是用于执行shell命令的函数.它返回执行并返回命令输出的最后一行,但你可以指定一个数组作为第二个参数,这样输出的每一行都会作为一个元素存入数组.使用方式如下: 复制代码 代码如下: <?php$last = exec('ls', $output, $return);print_r($output);echo "Return [$return]&quo
-
python3编写ThinkPHP命令执行Getshell的方法
加了三个验证漏洞以及四个getshell方法 # /usr/bin/env python3 # -*- coding: utf-8 -*- # @Author: Morker # @Email: [email]admin@nsf.me[/email] # @Blog: [url]http://nsf.me/[/url] import requests import sys def demo(): print(' _______ _ _ _ _____ _ _ _____ ') print(' |
-
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 ] ) 注意的是:这三个函数在默
-
python SSH模块登录,远程机执行shell命令实例解析
用python SSH模块登录,并在远程机执行shell命令 (在CentOS 7 环境试验成功, Redhat 系列应该是兼容的.) 先安装必须的模块 # yum install python-dev # yum install python-devel # pip install pycrypto # pip install paramiko # pip install ssh 这些都成功后, 编写一个Python脚本 # vim remote_run.py import ssh # 新建一
-
基于Java实现ssh命令登录主机执行shell命令过程解析
这篇文章主要介绍了基于Java实现ssh命令登录主机执行shell命令过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.SSH命令 SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.SSH最初是UNI
-
python执行使用shell命令方法分享
1. os.system(shell_command) 直接在终端输出执行结果,返回执行状态0,1 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果command有执行内容,会在标准输出显示.这实际上是使用C标准库函数system()实现的. 缺点:这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. os.system('cat /etc/passwdqc.conf') 2. os.popen()
-
详解golang执行Linux shell命令完整场景下的使用方法
目录 1. 执行命令并获得输出结果 2. 将stdout和stderr分别处理 3. 异步执行命令 4. 执行时带上环境变量 5. 预先检查命令是否存在 6. 两个命令依次执行,管道通信 7. 按行读取输出内容 8. 获得exit code 1. 执行命令并获得输出结果 CombinedOutput() 执行程序返回 standard output and standard error func main() { cmd := exec.Command("ls", "-lah
-
在docker中执行linux shell命令的操作
在docker中执行shell命令,需要在命令前增加sh -c,例如: docker run ubuntu sh -c 'cat /data/a.txt > b.txt' 否则,指令无法被正常解析. 补充:[Docker应用] docker中执行指定脚本(docker 下运行springboot应用) [Docker应用] docker中执行指定脚本 这里是执行spring boot的应用的实例: 1. 制作执行sh脚本的镜像文件(模板) Dockfile FROM vertigomedia/u
-
Ruby中执行Linux shell命令的六种方法详解
在Ruby中,执行shell命令是一件不奇怪的事情,Ruby提供了大概6种方法供开发者进行实现.这些方法都很简单,本文将具体介绍一下如何在Ruby脚本中进行调用终端命令. exec exec会将指定的命令替换掉当前进程中的操作,指定命令结束后,进程结束. 复制代码 代码如下: exec 'echo "hello world"' print 'abc' 执行上述的命令,结果如下,我们可以看到没有abc的输出,可以看出来,在执行echo "hello world"命令后
-
Python2.x利用commands模块执行Linux shell命令
用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数: 1. commands.getoutput('shell command') 执行shell命令,返回结果(string类型) 复制代码 代码如下: >>> commands.getoutput('pwd') '/home/oracle' 2. commands.getstatus(
-
Android中执行java命令的方法及java代码执行并解析shell命令
android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建
-
使用Python生成Shell命令,批量执行程序代码解析
本文主要研究的是Linux系统中使用Python生成Shell命令,批量执行程序的相关内容,具体如下. 近日经常遇到在Linux shell中批量执行相似命令的情况.比如执行如下命令: gifsicle --delay=100 gif/App_1_hour_*_down.gif > combine_gif/App_1_hour_down.gif gifsicle --delay=100 gif/App_1_hour_*_up.gif > combine_gif/App_1_hour_up.gi
随机推荐
- arrayToJson将数组转化为json格式的js代码
- script_tool_for_windows.bat Windows 环境下的 hosts 一键部署脚本
- IE中直接运行显示当前网页中的图片 推荐
- Python的时间模块datetime详解
- C#加密解密类实例程序
- PHP中的闭包(匿名函数)浅析
- javascript计算用户打开网页的停留时间
- Javascript操作表单实例讲解(下)
- SSB(SQLservice Service Broker) 入门实例介绍
- Sql Server中的事务介绍
- IE和Firefox在JavaScript应用中的兼容性探讨
- jquery中eq和get的区别与使用方法
- JavaScript导出Excel实例详解
- dedecms采集过滤常用代码集合
- Java Map的排序实例详解
- Android软件自动更新实现代码
- Java 1.0和Java 1.1 的IO类的比较
- nodejs简单读写excel内容的方法示例
- Windows中防范黑客入侵七招
- Python编写带选项的命令行程序方法