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之第四天
Oct 09 PHP
小偷PHP+Html+缓存
Nov 25 PHP
wordpress之wp-settings.php
Aug 17 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 PHP
php对象和数组相互转换的方法
May 12 PHP
通过Email发送PHP错误的方法
Jul 20 PHP
php函数传值的引用传递注意事项分析
Jun 25 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
Oct 31 PHP
PHP中串行化用法示例
Nov 16 PHP
laravel创建类似ThinPHP中functions.php的全局函数
Nov 26 PHP
php中分页及SqlHelper类用法实例
Jan 12 PHP
Laravel 中创建 Zip 压缩文件并提供下载的实现方法
Apr 02 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
PHP加密技术的简单实现
2016/09/04 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
2016/06/09 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
2018/09/16 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
jupyter安装小结
2016/03/13 Python
Python学习思维导图(必看篇)
2017/06/26 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
用python 批量更改图像尺寸到统一大小的方法
2018/03/31 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
为什么称python为胶水语言
2020/06/16 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
初中考试作弊检讨书
2014/02/01 职场文书
商务英语广告词大全
2014/03/18 职场文书
法人授权委托书范本
2014/04/04 职场文书
共青团员自我评价范文
2014/09/14 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
python实现层次聚类的方法
2021/11/01 Python
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL