好得很程序员自学网
  • 首页
  • 后端语言
    • 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、 php怎样执行cmd命令或者bat处理 - 技术问答 2、 php执行cmd脚本超时,不能去改ini因为超时期间页面一直在等待,怎么才能 3、 怎么在CMD里运行PHP 4、 如何在cmd命令行下运行php 5、 怎么在cmd里面运行php命令 6、 在服务器上用php调用cmd执行某exe文件,求代码!!!! 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);

?>

请运行结果 自行查看。

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页面时就是这样做

怎么在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

如何在cmd命令行下运行php

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

说明:

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

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

怎么在cmd里面运行php命令

命令行直接执行语句 C:\Php>php -r "echo \"hello world!\""; 或者 命令执行文件 C:\Php>php -f C:/apache/apache2/www/demo/test/index.php。其实你自己在后盾人看看教学视频,加上自己的理解,多想想就明白了,很简单的

在服务器上用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的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php执行多行cmd php 多进程执行任务的详细内容...

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

上一篇: 货车php源码 货运源码

下一篇:php范围的表示 php int范围

相关资讯

最新资料更新

  • 1.dedecms实现游客可以提问、回答及查看的方法
  • 2.dedecms list增加noflag属性的方法 实现让列表标签不调用有推荐属性的文章
  • 3.织梦手机站关闭自动生成首页index.html的方法
  • 4.dedecms获取图片集多张图片实现方法(循环输出)
  • 5.dedecms列表页上一页下一页翻页单独调用的方法
  • 6.怎么解决DedecmsV5.7 SP1广告不能显示
  • 7.dedecms怎么设置当三级栏目为空时不显示同级栏目
  • 8.DEDECMS后台登陆空白排查错误原因
  • 9.dedecms后台模块管理空白不显示的解决方法
  • 10.解决织梦DEDE5.7 tags系列bug(图解步骤)
  • 11.让dedecms实现shtml包含的实现方法
  • 12.织梦DedeCMS在实现中英文导航功能方法步骤
  • 13.dedecms织梦系统$GLOBALS定义文件在哪
  • 14.织梦DedeCMSv5.7安装初始化数据体验包失败的解决方法
  • 15.dedecms重新定义cn_substr函数截取字数更准确
  • 16.dedecms二次开发时使用{dede:arclist},{dede:list}获取附加表字段内容
  • 17.Dede实现文章列表隔行换背景色让显示内容有所区别
  • 18.dede把文章批量设为未审核
  • 19.dedecms织梦模板列表页单独调用总页数二次开发教程详解
  • 20.织梦DEDEEIMS标签不能嵌套的2种解决方法

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

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