PHP 命令行选项 用户介绍

php --help 或 php -h 会列出命令行选项(如下)。后面会逐一列举这些选项的简单用法。

$ php -h
  -a               Run as interactive shell
  -c <path>|<file> Look for php.ini file in this directory
  -n               No configuration (ini) files will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S <addr>:<port> Run with built-in web server.
  -t <docroot>     Specify document root <docroot> for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

1、php -a (win下不可用)

交互式运行 PHP,即php的shell命令行,tab键补全。见示例:

$ php -a
php > $desc = '我想写点php测试代码';
php > echo $desc."\n";
我想写点php测试代码
php > quit
$

2、php -c

用该参数,可以指定一个放置 php.ini 文件的目录,或者直接指定一个自定义的 INI 文件。这样你的脚本就会基于指定php配置运行

php -c /custom/directory/ my_script.php
php -c /custom/directory/custom-file.ini my_script.php

3、 php -n

这个更狠,完全忽略 php.ini

php -n test.php 

4、php -d

-d 和 -c -n 都是针对php.ini的操作。-d可自行设置任何可以在 php.ini 文件中设置的配置选项的值,其语法为:

php -d configuration_directive[=value]

用默认的php.ini但局部配置微调,用法示例:

$ cat testD.php
<?php
$foo = ini_get('max_execution_time');
var_dump($foo);
$ php testD.php
string(1) "0"
$ php -d max_execution_time=20 testD.php
string(1) "20"

5、php -e

激活扩展信息,

6、 php -f

执行php脚本文件,-f可省略

$ php test.php

7、php -h (同php --help)

使用该参数,可以得到完整的命令行参数的列表及这些参数作用的简单描述。

8、php -i (同 --info)

该命令行参数会调用 [phpinfo()]函数并显示出结果。

9、php -l

这个检测脚本是否有语法错误是很有用。如果有语法错误,会报错

$ cat checkSyntax.php 
<?php
  $o = 'Hello'  // 缺少结束符 ;

用php -l检测脚本的语法报错如下:

$ php -l checkSyntax.php 
PHP Parse error:  syntax error, unexpected end of file in checkSyntax.php on line 6

Parse error: syntax error, unexpected end of file in checkSyntax.php on line 6
Errors parsing checkSyntax.php

9、php -m

检测环境的扩展时很有用。使用该参数,PHP 将打印出内置以及已加载的 PHP 及 Zend 模块。

$ php -m
[PHP Modules]
xml
mysql
mbstring

10、php -r

使用该参数可以在命令行内运行单行 PHP 代码。与php -a相比,php -r执行的单行php字符串,且不记录上下文环境

$ php -r 'echo "Hello";'

11、php -B 和 php -R 以及 php -E

linux不常用,用shell也可以实现同样功能
示例:使用 -B ,-R 和 -E 选项来计算一个项目总行数的例子

find testDir|php -B '$line=0;' -R '$line += count(@file($argn));' -E 'echo "Total Lines:$line\n";'
Total Lines:968

12、php -s

显示有语法高亮色彩的源代码。示例:

$ cat checkSyntax.php
<?php
  $o = 'Hello';

上面php代码,在用-s输出代码时会加颜色显示

$ php -s checkSyntax.php
<code>
<span style="color: #000000">
<span style="color: #0000BB">&lt;?php<br />$o&nbsp;</span>
<span style="color: #007700">=&nbsp;</span>
<span style="color: #DD0000">'Hello'</span>
<span style="color: #007700">;&nbsp;<br /></span>
</span>
</code>

13、php -v (同--version)

输出php的版本信息

$ php -v
PHP 4.3.0 (cli), Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies

14、php -w (同--strip)

将源代码除去了注释和多余空白后显示,可用于简洁代码。示例:

$ cat checkStrip.php
// 我是注释

// 我也是注释,另外上面有很多空白
$o = 'Hello'; //注释

执行后,将显示去除后的简洁代码

$ php -w checkStrip.php
<?php
 $o = 'Hello'; 

15、php -z

加载 Zend 扩展库。默认读取/etc/ld.so.conf 指定的系统扩展库,也可以指定扩展的绝对路径地址。

邮箱:wyqianghh@163.com
PHP 的命令行模式能使得 PHP 脚本能完全独立于 web 服务器单独运行。比较常用的参数有:-a -c -h -i -l -m -r -v

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335