好得很程序员自学网
  • 首页
  • 后端语言
    • 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框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php控制cmd PHP控制下载流量

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

本文目录一览: 1、 怎么在CMD里运行PHP 2、 php怎样执行cmd命令或者bat处理 - 技术问答 3、 如何在cmd下面写php代码 4、 如何在cmd命令行下运行php 5、 在服务器上用php调用cmd执行某exe文件,求代码!!!! 6、 php执行cmd脚本超时,不能去改ini因为超时期间页面一直在等待,怎么才能 怎么在CMD里运行PHP

window7解决方案,XP没试,不过想来也是同理,差不了多少:

1、你的php.exe文件的路径,比如d:\php5.3\

2、打开计算机右键 > 属性 > 高级系统设置 > 高级 > 环境变量

3、在系统变量中找到Path看看有没有你的php路径,如果没有,则在Path中加入你的php路径,如:d:\php5.3\,保存即可

4、在cmd命令行下进入到你的站点目录,直接输入文件名即可,如:F:\www\socket>php.exe s.php

php怎样执行cmd命令或者bat处理 - 技术问答

php的内置函数exec,system都可以调用系统命令(shell命令),当然还有passthru,escapeshellcmd等函数。

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

<?php

$a = exec("dir",$out,$status);

print_r($a);

print_r($out);

print_r($status);

?>

语法 : string system ( string command [, int return_var] )

<?php

$a = system("dir",$out);

print_r($a);

print_r($out);

?>

请运行结果 自行查看。

如何在cmd下面写php代码

首先要把php目录放到环境变量path下面:

我的电脑-》属性-》高级-》环境变量-》系统变量->Path->编辑->

查看路径下有没有php目录,如果没有加上

比如我的php路径是E:AppServphp5 所以要在最后面加上E:AppServphp5;

成功后win+r 调出命令行,输入php-v 查看版本,如果不对请检查坏境变量是否设置正确

运行php文件php-f 路径+文件名 或者php路径+文件名

(小技巧:windows下面可以把文件直接拖进去,省去cd/命令,或者慢慢拼写完整路径)

两种方法都可以执行命令,如果是.php文件则执行php代码,否则直接以字符串形式读取文件

4在命令行直接写并运行PHP代码,在windows环境下,尽量使用双引号, 在linux环境下则尽量使用单引号来完成。php-r “echo getcwd();”

如何在cmd命令行下运行php

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

说明:

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

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

在服务器上用php调用cmd执行某exe文件,求代码!!!!

很多情况下需要php调用其他程序如shell命令、shell脚本、可执行程序等等,此时需要使用到诸如exec/system/popen/proc_open等函数,每种函数有各自适合使用的场景以及需要注意的地方。

前提:PHP没有运行在安全模式

如果PHP运行在安全模式下,那么在执行外部命令、打开文件、连接数据库、基于HTTP的认证这4个方面将会受到制约,可能在调用外部程序时无法获取预期的结果,此时需要设置特定目录,可以在php.ini中编辑safe_mode_exec_dir参数来指定。

1. exec

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

描述:返回值保存最后的输出结果,而所有输出结果将会保存到$output数组,$return_var用来保存命令执行的状态码(用来检测成功或失败)。

例子:$ret = exec("ls -al", $output, $var);

注意:

A. 输出结果会逐行追加到$output中,因此在调用exec之前需要unset($output),特别是循环调用的时候。

B.

如果想通过exec调用外部程序后马上继续执行后续代码,仅仅在命令里加""是不够的,此时exec依然会等待命令执行完毕;需要再将标准输出

做重定向才可以,例如:exec("ls -al >/dev/null ", $output, $var);

C.

要学会善用EscapeShellCmd()和EscapeShellArg()。函数EscapeShellCmd把一个字符串

中所有可能瞒过Shell而去执行另外一个命令的字符转义。这些字符在Shell中是有特殊含义的,象分号(|),重定向(>)和从文件读入

(<)等。函数EscapeShellArg是用来处理命令的参数的。它在给定的字符串两边加上单引号,并把字符串中的单引号转义,这样这个字符串

就可以安全地作为命令的参数。

2. system

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

描述:执行给定的命令,返回最后的输出结果;第二个参数是可选的,用来得到命令执行后的状态码。

例子:$ret = system("ls -al", $var);

注意:略。

3. passthru

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

描述:执行给定的命令,但不返回任何输出结果,而是直接输出到显示设备上;第二个参数可选,用来得到命令执行后的状态码。

例子:passthru("ls -al", $var);

注意:略。

4. popen

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

描

述:打开一个指向进程的管道,该进程由派生给定的 command 命令执行而产生。 返回一个和 fopen()

所返回的相同的文件指针,只不过它是单向的(只能用于读或写)并且必须用 pclose() 来关闭。此指针可以用于 fgets(),fgetss()

和 fwrite()。

例子:$fd = popen("command", 'r'); $ret = fgets($fd);

注意:只能打开单向管道,不是'r'就是'w';并且需要使用pclose()来关闭。

5. proc_open

原

型:resource proc_open ( string cmd, array descriptorspec, array

pipes [, string cwd [, array env [, array other_options]]] )

描述:与popen类似,但是可以提供双向管道。具体的参数读者可以自己翻阅资料,比如该博客:。

注意:

A. 后面需要使用proc_close()关闭资源,并且如果是pipe类型,需要用pclose()关闭句柄。

B. proc_open打开的程序作为php的子进程,php退出后该子进程也会退出。

C. 笔

者在使用的时候遇到获取外部程序输出阻塞的问题,也就是在例子中的fgets($pipes[1])语句阻塞了,无法继续进行。经过多方查证后发现,问题

一般出在外部程序中,比如外部程序是C程序,使用fprintf(stdin, "****

\n");输出结果,此时需要加上fflush(stdout);才行,否则输出结果可能会暂留缓存中,无法真正输出,而php也就无法获取输出了。

例子:

///< 打开管道

$pwd = "*****";

$pipes = array();

$command = "*****";

$desc = array(array('pipe', 'r'), array('pipe', 'w'), array('pipe', 'w'));

$handle = proc_open($command, $desc, $pipes, $pwd);

if (!is_resource($handle)) {

fprintf(STDERR, "proc_open failed.\n");

exit(1);

}

///< 读写

fwrite($pipes[0], "*****\n");

$ret = rtrim(fgets($pipes[1]), "\n");

///< 关闭管道

fclose($pipes[0]);

fclose($pipes[1]);

fclose($pipes[2]);

proc_close($handle);

php执行cmd脚本超时,不能去改ini因为超时期间页面一直在等待,怎么才能

PHP脚本执行超时的解决办法

在php中默认脚本执行超时时间为30秒了,如果未进行设置30秒之后如果你的脚本还未执行完就会超时了,下面我来给大详解解决PHP脚本执行超时的方法。

php.ini

中缺省的最长执行时间是

30

秒,虽然可以通过调整

php.ini

中

max_execution_time的值来达到目的,但有些情况是没有条件修改php.ini的,如何解决这个问题呢。

一种方法是在

PHP

脚本中加入

代码如下

ini_set('max_execution_time',

'0');

将运行时间设置成0(无限值);

另一种方法是在命令行下执行脚本,使用命令行执行脚本时,最大运行时间被设置为了无限值。

修改php.ini的脚本执行时间限制

编辑php.ini,修改max_execution_time值:

代码如下

max_execution_time=500

//此修改需要重新加载php.ini,需要重启web服务器生效。

通过.htaccess

文件设置脚本执行时间

代码如下

php_value

max_execution_time

500

在脚本中设置执行的最大时间

代码如下

ini_set('max_execution_time',

500);

用php的函数取消脚本的时间限制

代码如下

set_time_limit(0);

set_time_limit用来设置脚本的超时时间,此函数规定从该句运行时起程序必须在指定秒数内运行结束,超时则程序出错退出。

下面是一个例子.

有10000条数据,

要修改其中某些数据,

运用PHP分步执行处理,

代码如下:

action.php

代码如下

<?php

$stid

=

isset($_GET['stid'])?$_GET['stid']:0;

$endid

=

$stid

+

100;

$maxid

=

10000;

function

dosomething(){

//要时间比较多的操作

……

}

$sql_string=”select

*

from

`table`

where

id>’$stid’

and

id<=’$endid’

order

by

id”;

$datas

=

getdata_bysql($sql_string);

foreach($datas

as

$data){

//处理数据

…..

echo

$id.”

处理完成.

<br

/>”;

if($id>=$maxid){exit;}

}

if($stid<=$maxid){

$stid

=

$stid

+

100;

$url=”action.php?stid=$stid”;

echo

$url;

echo

‘<script

language=”javascript”>location=”‘.$url.’”;

</script>’;

}

?>

其中的dosomething()是一个耗时操作.

这里我们通过限制id范围来减少运行时间,

运行完后通过javascript的跳转来自动运行下一步

现在dedecms生成html页面时就是这样做

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

查看更多关于php控制cmd PHP控制下载流量的详细内容...

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

上一篇: php使用索引查找 php索引是什么意思

下一篇:php5.5.9漏洞 php最新漏洞

相关资讯

最新资料更新

  • 1.织梦不能上传jpg格式怎么办如何解决
  • 2.最新关于织梦DEDECMS文章排序方式及调用方法
  • 3.织梦DedeCMS缩略图失真模糊完美解决方法
  • 4.dedecms文章页上一篇与下一篇标题长度截取的方法
  • 5.dedecms织梦系统$GLOBALS定义文件在哪
  • 6.dedecms子栏目中调用其顶级栏目名称和简介的方法
  • 7.怎么解决DedecmsV5.7 SP1广告不能显示
  • 8.织梦(dedecms)导航条dropdown.js的改进(附演示demo)
  • 9.Dedecms文章设置推荐后列表页标题自动加粗的解决方法
  • 10.Dede后台验证码不显示解决方法详解(dedecms 5.7)
  • 11.dedecms注册中文会员无法打开空间的解决方法
  • 12.dedecms的dedesql.class.php on line 489错误的解决方法
  • 13.DEDECMS栏目页开伪静态的方法(apache服务器)
  • 14.dedecms中tags标签页伪静态化修改技巧
  • 15.织梦首页和列表页怎么调用自定义字段
  • 16.在dedecms文章页中获取当前栏目字段如content字段
  • 17.详解dedecms后台编辑器将回车 改为 的方法
  • 18.在自己的php页面中使用dedecms标签的代码示例
  • 19.DedeCMS图集中缩略图不显示的解决方法
  • 20.为dedecms增加二维码功能的实现代码

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

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