PHP的命令行命令使用指南


Posted in PHP onAugust 18, 2015

 当用户打开php页面时,服务端便执行PHP的命令并将执行结果发送至用户的浏览器中,这类似于ASP和CoildFusion,PHP可以运行在WINDOWS和多种版本的UNIX上。除了能够操作您的页面外,PHP还能发送HTTP的标题。

你可以设置cookie,管理数字签名和重定向用户,而且它提供了极好的连通性到其它数据库(还有ODBC),集成各种 外部库来做用PDF文档解析XML的任何事情。那你还知道可以用php的强大功能做点别的东西吗? 在以独立的cgi方式运行时,需要一个php可执行程序,他有很多命令行参数的,有些可以用作很好玩的用途,下面是全部的php命令行参数,其中[]表示 可有可无的,<>表是一定要的。

用法 php [-q] [-h] [-s] [-v] [-i] [-f ] | { [args...]} -q 安静模式。不输出HTTP头。
 -s 将php程序文件用转化为彩色格式的HTML(比如保留字用绿色,函数和变量为蓝色,注释为黄色而字串则是红色等等。

-f 读入并解释指定的文件。

-c 在中读入php.ini文件

-a 交互式运行

-d foo[=bar] 定义ini中的输入项 foo 的值为 bar

-e 输出额外信息以便调试和性能分析

-z 调入Zend扩展文件

-i php的相关信息

-h help本身。

1.用php -q 文件名.php 方式把php程序当shell程序来用,

2.用 -s把自己的php程序html化。这样是不是很省心?

3.利用php的odbc功能可以在shell命令中对数据库进行操作。

几个常用命令
1、  查看php的版本、配置

在命令行中输入php ?v 即可查看当前php的版本。

PHP 5.2.17(cli) (built: Feb 2 2011 11:19:21) 
 Copyright (c) 1997-2010 The PHP Group 
 Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies 
 with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies 
 with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator

 

其他的选项有: ?m、-i。笔者在这里就不给出列子了。

-m 会显示当前php加载的有效模块。

-i 则输出无html格式的phpinfo。

使用 ?ini 选项可以输出当前php加载ini配置文件的数量、路径信息。

php--ini-in-shell

 
2、  在命令行中运行php程序

从命令行运行php非常简单。但有些注意事项需要各位了解下。诸如$_SESSION之类的服务器变量是无法在命令行中使用的,其他代码的运行则和web服务器中完全一样^_^。

<?php 
 echo “运行php命令行echo”; 
 ?>

把上面的代码另存为hello.php 。在命令行中敲入 php ?f hello.php。显示结果如下:

运行php命令行echo

在命令行中执行php文件的好处之一就是可以通过脚本实现一些计划任务的执行。而毋须通过web服务器^_^。

当然,我们也可以直接在php中调试代码:输入php ?r 指令,会出现一个”>”符号。这表示已经进入到php的shell中,可以直接写代码,并执行。

-bash-3.2$ php -r ' 
 > for($i=0;$i<2;$i++){ 
 > echo "Number: {$i}\n"; 
 > } 
 > ' 
 Number: 0 
 Number: 1

 

还可以使用php ?a 命令打开交互模式,输入一行代码,php会实时输出结果。

 
3、  检测php语法、高亮输出

不用执行代码,我们可以在命令行下检测php文件的语法错误。

-bash-3.2$ php -l hello.php

    No syntax errors detected in hello.php 

 

程序员经常会需要将php代码高亮原样输出,使用php ?s 即可

-bash-3.2$ php -s hello.php
<code><span style="color: #000000"> 
 <span style="color: #0000BB"><?php<br /></span> 
 <span style="color: #007700">echo </span> 
 <span style="color: #DD0000">'ddd'</span> 
 <span style="color: #007700">;<br /></span><span 
 style="color: #0000BB">?><br /></span> 
 </span> 


 
4、查看php手册

从php5.1.2开始,程序员们可以在php命令行下查看手册了,输入php ?rf function。会打印出该函数的语法简介

-bash-3.2$ php --rf strip_tags
Function [ <internal:standard> function strip_tags ] { 
    
  - Parameters [2] { 
  Parameter #0 [ <required> $str ] 
  Parameter #1 [ <optional> $allowable_tags ] 
  } 
  }
PHP 相关文章推荐
php二分法在IP地址查询中的应用
Aug 12 PHP
基于empty函数的判断详解
Jun 17 PHP
解析php中static,const与define的使用区别
Jun 18 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
Aug 19 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 PHP
php7 list()、session及其他模块的修改实例分析
May 25 PHP
使用PHP生成图片的缩略图的方法
Aug 18 #PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 #PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 #PHP
深入讲解PHP Session及如何保持其不过期的方法
Aug 18 #PHP
php微信公众平台开发之获取用户基本信息
Aug 17 #PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 #PHP
php中switch语句用法详解
Aug 17 #PHP
You might like
用 PHP5 轻松解析 XML
2006/12/04 PHP
ThinkPHP模板输出display用法分析
2014/11/26 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
jQuery获取当前点击的对象元素(实现代码)
2016/05/19 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
使用ThinkJs搭建微信中控服务的实现方法
2019/08/08 Javascript
构建Vue大型应用的10个最佳实践(小结)
2019/11/07 Javascript
React Hooks 实现和由来以及解决的问题详解
2020/01/17 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
python 切片和range()用法说明
2013/03/24 Python
python合并文本文件示例
2014/02/07 Python
Python基本数据类型详细介绍
2014/03/11 Python
python用match()函数爬数据方法详解
2019/07/23 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
医科大学毕业生自荐信
2014/02/03 职场文书
出生公证书样本
2014/04/04 职场文书
团日活动总结
2014/04/28 职场文书
优秀班组事迹材料
2014/12/24 职场文书
工作能力自我评价2015
2015/03/05 职场文书
小学体育教学随笔
2015/08/14 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
Pandas 稀疏数据结构的实现
2021/07/25 Python
ipad隐藏软件app图标方法
2022/04/19 数码科技