好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php实时获取cmd输出 php获取当前ip地址

很多站长朋友们都不太清楚php实时获取cmd输出,今天小编就来给大家整理php实时获取cmd输出,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP如何执行cmd命令 2、 我用php调用了cmd,请问如何获得他的输出值? 3、 php执行linux命令并输出终端屏幕显示的内容(实时) PHP如何执行cmd命令

在php.ini文件中配置safe_mode参数支持命令执行的方法,可以参考下。

说明:

本节内容在wamp包安装的环境实现。

首先,打开php.ini,关掉安全模式safe_mode = off,然后在看看 禁用函数列表 disable_functions = proc_open, popen, exec, system, shell_exec ,把exec去掉。

php代码:

复制代码代码如下:

<?php

exec("mkdir d:\\test",$out);

print_r($out);

?>

执行该php文件,会发现在d盘下多了一个test文件夹。

参考文档:

exec函数解析

exec语法: string exec(string command, string [array], int [return_var]);

exec返回值: 字符串

exec参数说明

Command – 需要执行的命令

Array –  是输出值

return_var –是返回值0或1,如果返回0则执行成功,返回1则执行失败。

exec不成功,调试方案

技巧分享:

使用管道命令, 使用 2>1, 命令就会输出shell执行时的错误到$output变量, 输出该变量即可分析。

例如:

exec(‘convert a.jpg b.jpg', $output, $return_val);

修改为:

复制代码代码如下:

exec(‘convert a.jpg b.jpg 2>1′, $output, $return_val);

print_r($output);

我用php调用了cmd,请问如何获得他的输出值?

是用system()函数调用的? 如果调用的cmd有输出,在执行php程序的时候 会自动输出来 如果想在php程序里面获取这个输出,貌似不行,因为这个函数的返回值是 是否执行成功 可以支一招:调用cmd的时候 顺便将输出写入一个临时文件,然后php再读这个文件

求采纳

php执行linux命令并输出终端屏幕显示的内容(实时)

PHP在linux上执行命令

目录:

一、PHP中调用外部命令介绍

二、关于安全问题

三、关于超时问题

四、关于PHP运行linux环境中命令出现的问题

一、PHP中调用外部命令介绍

在PHP中调用外部命令,可以用,1>调用专门函数、2>反引号、3>popen()函数打开进程,三种方法来实现:

方法一:用PHP提供的专门函数(四个):

PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec()

1)exec()

原型: string exec ( string $command [, array $output [, int $return_var ] )

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

<?php

exec("dir",$output);

print_r($output);

?>

2)system()

原型: string system ( string $command [, int $return_var ] )

说明: system和exec的区别在于,system在执行系统外部命令时,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。

<?php

system("pwd",$result);

print $result;//输出命令的结果状态码

?>

关于第二个参数结果状态码的简单介绍:

如果返回0是运行成功,

在Bash中,当错误发生在致命信号时,bash会返回128+signal number做为返回值。

如果找不到命令,将会返回127。

如果命令找到了,但该命令是不可执行的,将返回126。

除此以外,Bash本身会返回最後一个指令的返回值。

若是执行中发生错误,将会返回一个非零的值。

Fatal Signal : 128 + signo

Can't not find command : 127

Can't not execute : 126

Shell script successfully executed : return the last command exit status

Fatal during execution : return non-zero

3)passthru()

原型: void passthru ( string $command [, int $return_var ] )

说明: passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据。第二个参数可选,是状态码。

<?php

header("Content-type:image/gif");

passthru("/usr/bin/ppm2tiff /usr/share/tk8.4/demos/images/teapot.ppm");

?>

4)shell_exec()

原型: string shell_exec ( string $cmd )

说明: 直接执行命令$cmd

<?php

$output = shell_exec('ls -lart');

echo "<pre>$output</pre>";

?>

方法二:反撇号

原型: 反撇号`(和~在同一个键)执行系统外部命令

说明: 在使用这种方法执行系统外部命令时,要确保shell_exec函数可用,否则是无法使用这种反撇号执行系统外部命令的。

<?php

echo `dir`;

?>

方法三:用popen()函数打开进程

原型: resource popen ( string $command , string $mode )

说明: 能够和命令进行交互。之前介绍的方法只能简单地执行命令,却不能与命令交互。有时须向命令输入一些东西,如在增加系统用户时,要调用su来把当前用户换到root用户,而su命令必须要在命令行上输入root的密码。这种情况下,用之前提到的方法显然是不行的。

popen( )函数打开一个进程管道来执行给定的命令,返回一个文件句柄,可以对它读和写。返回值和fopen()函数一样,返回一个文件指针。除非使用的是单一的模式打开(读or写),否则必须使用pclose()函数关闭。该指针可以被fgets(),fgetss(),fwrite()调用。出错时,返回FALSE。

<?php

error_reporting(E_ALL);

/* Add redirection so we can get stderr. */

$handle = popen('/path/to/executable 2>1', 'r');

echo "'$handle'; " . gettype($handle) . "\n";

$read = fread($handle, 2096);

echo $read;

pclose($handle);

?>

关于php实时获取cmd输出的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php实时获取cmd输出 php获取当前ip地址的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did224087
更新时间:2023-05-08   阅读:33次

上一篇: php403签名 php怎么写签到功能

下一篇:phpxss过滤函数 php过滤空格

相关资讯

最新资料更新

  • 1.杭州php前景如何 杭州php培训学校
  • 2.php怎么操作树 php tree
  • 3.jq读取php变量 php读取html内容
  • 4.php事务的隔离级别 php事务处理
  • 5.php基于iis php+iis
  • 6.php数据层设计 php数据库操作
  • 7.php判断多个数字 php判断字符串是否为数字
  • 8.php表格循环 php循环函数
  • 9.手机文件php怎么打开 手机php格式文件怎么打开
  • 10.php复杂语法 php基本语法
  • 11.php表示数组元素 php数组实现
  • 12.网页识别不了php文件 php网页无法显示
  • 13.php字母循序排列 php字符串排序
  • 14.php中catch的简单介绍
  • 15.phpmysql框架 php框架yii
  • 16.phpmkdir-1的简单介绍
  • 17.php下载csv乱码 php下载文件名乱码
  • 18.php定义多个常量 php定义多个变量
  • 19.免费版仓库管理系统php 仓库管理系统php源码
  • 20.php蓝色的代码 html颜色代码

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]