Atitit.执行cmd 命令行 php

原创 2015年07月10日 21:29:25

Atitit.执行cmd 命令行 php

 

1. 执行cmd 命令行,调用系统命令的基础 1

1.1. 实际执行模式 1

1.2. 空格的问题 1

1.3. 中文路径的问题,程序文件读取编码设置 1

1.4. 回显乱码 2

2. exec,system等函数调用系统命令 2

3. php.ini,关掉安全模式safe_mode = off 3

4. 参考 3

 

 

1. 执行cmd 命令行,调用系统命令的基础

1.1. 实际执行模式

Processmonitor 检查。得到。。

PID: 115372, Command line: cmd.exe /c "D:\workspace 绌烘牸\AtiBrow\exp_receipt.bat"

1.2. 空格的问题

双引号解决

1.3. 中文路径的问题,程序文件读取编码设置

Php.ini中的default_charset = "utf-8"  只是设置postget的编码,不能设置php文件的读取编码。。最好是注释掉此参数,让他根据文件本身的编码自动判断,否则输出的php结果都 header('Content-Type:text/html;charset=utf8

 

作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

 

 

原因在于php文件本身是用系统字符集来编码的,中文的windows XP都是用GB2312,每一个文件头部都有字段指示该文件是用何种方式编码的

 

用javac编译java源文件时,编译器默认用系统编码读源文件里的内容。如果源文件不是用系统编码来保存的,可以用命令javac -encoding指定具体的编码

 

淋巴,只能不个php文件的编码设置成gbk。。才ok。。

 

1.4. 回显乱码

 

 header('Content-Type:text/html;charset=gbk');  

 

 

2. exec,system等函数调用系统命令

 这二个都是用来调用系统shell命令,

  不同点:

  exec可以把执行的结果全部返回到$output函数里(数组),$status是执行的状态 0为成功 1为失败

  systerm不需要提供$output函数,他是直接把结果返回出来,同样$return_var是执行的状态码 0为成功 1为失败

  exec示例:

 

1. 以下为引用的内容:  

2. <?php  

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

4. print_r($a);  

5. print_r($out);  

6. print_r($status);  

7. ?> 

  system示例:

 

1. 以下为引用的内容:  

2. <?php  

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

4. print_r($a);  

5. print_r($out);  

6. ?> 

 

3. php.ini,关掉安全模式safe_mode = off

 

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

 

 

4. 参考

 

php中使用exec,system等函数调用系统命令.htm

Apache以及PHP的默认编码问题解决(详解)_php追逐_新浪博客.htm

 

PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)

这篇文章主要介绍了PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解),需要的朋友可以参考下 exec 或者 system 都可以调用...
  • ziyubiti
  • ziyubiti
  • 2015年04月29日 17:33
  • 4025

Atitit.执行cmd 命令行 php

Atitit.执行cmd 命令行 php   1. 执行cmd 命令行,调用系统命令的基础 1 1.1. 实际执行模式 1 1.2. 空格的问题 1 1.3. 中文路径的问题,程序文件读取编...
  • attilax
  • attilax
  • 2015年07月10日 21:29
  • 978

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

PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功...
  • joliny
  • joliny
  • 2007年08月24日 12:48
  • 658

windows 使用cmd命令行执行php

把php目录放进 环境变量 -> path 下面。 然后在命令行可以直接使用 用法1:php xxx.php 用法2:php xxx.php param1 param2 par...
  • ljguo212
  • ljguo212
  • 2012年03月20日 14:39
  • 1414

Windows命令行下运行ThinkPHP与命令行中文乱码的解决

若要在命令行下运行ThinkPHP项目,需要修改入口文件index.php App与框架路径分别改为绝对路径,App路径最后记得多加个 \  ...
  • connora
  • connora
  • 2016年11月23日 23:00
  • 2305

命令行方式运行PHP脚本

参考手册:http://www.php.net/manual/zh/features.commandline.php可执行文件     所有的PHP发行版,不论是编译自源代码的版本还是预创建的版本,都...
  • guoguo1980
  • guoguo1980
  • 2008年03月13日 19:05
  • 29777

PHP 执行系统命令

PHP执行系统命令简介 在PHP中调用外部命令,可以用如下三种方法来实现: 方法一:用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), ...
  • jiang_bing
  • jiang_bing
  • 2011年12月05日 22:55
  • 9297

在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法

有时候只是简单的为了测试某个php函数的效果,以前总是需要建一个php文件,复制这个文件的路径,再通过web访问或者用php命令执行这个php文件。 一直想要怎么才能不用创建文件,才能直接执行PHP代...
  • cuixiping
  • cuixiping
  • 2015年08月03日 16:56
  • 8587

解决 cmd 窗口 php 输出中文乱码问题

有的时候我们需要在 cmd 窗口中直接执行 PHP 命令,但是在执行 PHP 文件的时候往往会有中文乱码出现,这个可能会摸不着头脑,不知道怎么在 cmd 窗口中正确的运行 PHP 命令中的文件。本文记...
  • qq_27682041
  • qq_27682041
  • 2017年10月12日 10:34
  • 890

cmd 运行php文件详解

配置php环境变量:     1、找到php的路径比如"D:/php",没有安装的可以到官网下载http://www.php.net/downloads.php。     2、需要保证该目录下php....
  • u013372487
  • u013372487
  • 2016年03月30日 09:57
  • 4202
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Atitit.执行cmd 命令行 php
举报原因:
原因补充:

(最多只允许输入30个字)