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

 

windows 使用cmd命令行执行php

把php目录放进 环境变量 -> path 下面。 然后在命令行可以直接使用 用法1:php xxx.php 用法2:php xxx.php param1 param2 par...

JS+PHP仿CMD命令行控制台

简介用HTML页面模仿CMD的界面,通过输入命令来控制php后台,略去编写繁杂的交互界面。...

MS SQL Server怎样在CMD命令行模式下工作:执行select,insert等等

使用:OSQL.EXE和SQLCMD.EXE工具:他们都在 SQL server2008在C:\Program Files\Microsoft SQL Server\100\Tools\Binn,有的...

cmd命令行中执行Java文件中文字符乱码情况解决

如上所示的错误 由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式,也即在编译ja...

java学习总结(16.05.08)在windows下使用cmd命令行对java文件进行编译和执行

windows下利用cmd命令行可以调用jdk里的javac.exe和java.exe对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量(jdk安装与环境变量的配置方法:htt...

cmd命令行交互执行python引入模块时提示ImportError: No module named xxx

1、我的目录结构: 2、cmd报错: 3、如何解决: 创建PYTHONPATH 变量,在这个环境变量中输入相关的路径,不同的路径之间用英文逗号分开 这里的路径会自动加入到sys.path中,永久...
  • Code_lr
  • Code_lr
  • 2016年04月21日 21:38
  • 3551

Windows下的CMD常用命令行操作

  • 2017年06月28日 22:04
  • 2KB
  • 下载

CMD命令行高级教程.pdf

  • 2014年06月04日 09:25
  • 393KB
  • 下载

cmd.exe命令行方式执行matlab代码

matlab代码的命令行运行方式 当你安装完matlab时,matlab会自动将matlab.exe的路径注册到系统的环境变量。如下图: [图1] 这个时候,打开cmd.exe(附件...

Windows命令行cmd手册

  • 2014年03月20日 20:38
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Atitit.执行cmd 命令行 php
举报原因:
原因补充:

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