-a |
--interactive |
交互式运行 PHP。For more information, see the Interactive shell
section.
|
-b |
--bindpath |
Bind Path for external FASTCGI Server mode (CGI
only).
|
-C |
--no-chdir |
Do not chdir to the script's directory (CGI only).
|
-q |
--no-header |
Quiet-mode. Suppress HTTP header output
(CGI only).
|
-T |
--timing |
Measure execution time of script repeated count
times (CGI only).
|
-c |
--php-ini |
用该参数,可以指定一个放置 php.ini
文件的目录,或者直接指定一个自定义的 INI
文件(其文件名可以不是 php.ini),例如:
如果不指定此选项,php.ini 将在默认位置 搜索。
|
-n |
--no-php-ini |
完全忽略 php.ini。
|
-d |
--define |
用该参数可以自行设置任何可以在 php.ini
文件中设置的配置选项的值,其语法为:
-d configuration_directive[=value]
# 取值部分被省略,将会把配置选项设为 "1"
$ php -d max_execution_time
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"
# 取值部分为空白,将会把配置选项设为 ""
php -d max_execution_time=
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""
# 配置选项将被设置成为任何 '=' 字符之后的值
$ php -d max_execution_time=20
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$ php
-d max_execution_time=doesntmakesense
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"
|
-e |
--profile-info |
激活扩展信息模式,被用于调试/测试。
|
-f |
--file |
解析并运行 -f
选项给定的文件名。该参数为可选参数,可以省略,仅指明需要运行的文件名即可。
Note:
To pass arguments to a script, the first argument must be
-- , otherwise PHP will interpret them as PHP
options.
|
-h and -? |
--help and --usage |
使用该参数,可以得到完整的命令行参数的列表及这些参数作用的简单描述。
|
-i |
--info |
该命令行参数会调用 phpinfo()
函数并显示出结果。如果 PHP 没有正常工作,建议执行
php -i
命令来查看在信息表格之前或者对应的地方是否有任何错误信息输出。请注意当使用
CGI 摸索时,输出的内容为 HTML
格式,因此输出的信息篇幅较大。
|
-l |
--syntax-check |
该参数提供了对指定 PHP
代码进行语法检查的方便的方法。如果成功,则向标准输出写入
No syntax errors detected in <filename>
字符串,并且外壳返回值为
0 。如果失败,则输出
Errors parsing
<filename>
以及内部解析器错误信息到标准输出,同时外壳返回值将别设置为
-1 。
该参数将无法检查致命错误(如未定义函数),如果也希望检测致命错误,请使用
-f 参数。
Note:
该参数不能和 -r 一同使用。
|
-m |
--modules |
Example #1 使用该参数,PHP 将打印出内置以及已加载的 PHP 及 Zend 模块:
$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype
[Zend Modules]
|
-r |
--run |
使用该参数可以在命令行内运行单行 PHP
代码。无需加上 PHP
的起始和结束标识符(<?php 和
?> ),否则将会导致语法解析错误。
Note:
使用这种形式的 PHP 时,应注意避免和外壳环境进行的命令行参数替换相冲突。
Example #2 显示双引号语法解析错误的范例
$ php -r "$foo = get_defined_constants();"
Command line code(1) : Parse error - parse error, unexpected '='
这里的问题在于即使使用了双引号
" ,sh/bash 仍然实行了参数替换。由于
$foo
没有被定义,被替换后它所在的位置变成了空字符,因此在运行时,实际被
PHP 读取的代码为:
正确的方法是使用单引号
' 。在用单引号引用的字符串中,变量不会被
sh/bash 还原成其原值。
Example #3 Using single quotes to prevent the shell's variable
substitution
$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
["E_ERROR"]=>
int(1)
["E_WARNING"]=>
int(2)
["E_PARSE"]=>
int(4)
["E_NOTICE"]=>
int(8)
["E_CORE_ERROR"]=>
[...]
如果使用的外壳不是 sh/bash,可能会碰到更多问题。请将碰到的 Bug
向 » https://bugs.php.net/
报告。注意,当试图将 shell 变量用到代码中或者使用反斜线时仍然很容易碰到问题。
Note:
-r 在 CLI SAPI
中有效,在 CGI SAPI 中无效。
Note:
此选项只用于非常基本的用途。因此一些配置指令(例如 auto_prepend_file 和 auto_append_file)在此模式下被忽略。
|
-B |
--process-begin |
在处理 stdin 之前先执行 PHP 代码。
|
-R |
--process-code |
对每个输入行都执行 PHP 代码。
此模式下有两个特殊变量:$argn
和 $argi。$argn
包含 PHP 当前处理的行内容,而
$argi 则包含该行号。
|
-F |
--process-file |
对每个输入行都执行 PHP 文件。
|
-E |
--process-end |
在处理完输入后执行的 PHP 代码。
Example #4
使用 -B,-R 和
-E 选项来计算一个项目总行数的例子。
$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328
|
-S |
--server |
Starts built-in web
server.
|
-t |
--docroot |
Specifies document root for built-in web server.
|
-s |
--syntax-highlight and --syntax-highlighting |
显示有语法高亮色彩的源代码。
该参数使用内建机制来解析文件并为其生成一个 HTML
高亮版本并将结果写到标准输出。请注意该过程所做的只是生成了一个
<code> [...] </code> 的
HTML 标记的块,并不包含任何的 HTML 头。
Note:
该选项不能和 -r 参数同时使用。
|
-v |
--version |
Example #5
使用 -v 将 PHP、SAPI 名称和 Zend 的版本信息写入标准输出。
$ php -v
PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
|
-w |
--strip |
显示除去了注释和多余空白的源代码。
Note:
该选项不能和 -r 参数同时使用。
|
-z |
--zend-extension |
加载 Zend 扩展库。如果仅给定一个文件名,PHP
将试图从当前系统扩展库的默认路径(在 Linux
系统下,该路径通常由 /etc/ld.so.conf
指定)加载该扩展库。如果用一个绝对路径指定文件名,则不会使用系统的扩展库默认路径。如果用相对路径指定的文件名,则
PHP 仅试图在当前目录的相对目录加载扩展库。
|
|
--ini |
Show configuration file names and scanned directories.
Example #6 --ini example
$ php --ini
Configuration File (php.ini) Path: /usr/dev/php/5.2/lib
Loaded Configuration File: /usr/dev/php/5.2/lib/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
|
--rf |
--rfunction |
Show information about the given function or class method (e.g.
number and name of the parameters).
This option is only available if PHP was compiled with
Reflection support.
Example #7 basic --rf usage
$ php --rf var_dump
Function [ <internal> public function var_dump ] {
- Parameters [2] {
Parameter #0 [ <required> $var ]
Parameter #1 [ <optional> $... ]
}
}
|
--rc |
--rclass |
Show information about the given class (list of constants, properties
and methods).
This option is only available if PHP was compiled with
Reflection support.
Example #8 --rc example
$ php --rc Directory
Class [ <internal:standard> class Directory ] {
- Constants [0] {
}
- Static properties [0] {
}
- Static methods [0] {
}
- Properties [0] {
}
- Methods [3] {
Method [ <internal> public method close ] {
}
Method [ <internal> public method rewind ] {
}
Method [ <internal> public method read ] {
}
}
}
|
--re |
--rextension |
Show information about the given extension (list of php.ini options,
defined functions, constants and classes).
This option is only available if PHP was compiled with
Reflection support.
Example #9 --re example
$ php --re json
Extension [ <persistent> extension #19 json version 1.2.1 ] {
- Functions {
Function [ <internal> function json_encode ] {
}
Function [ <internal> function json_decode ] {
}
}
}
|
--rz |
--rzendextension |
Show the configuration information for the given Zend extension (the
same information that is returned by phpinfo()).
|
--ri |
--rextinfo |
Show the configuration information for the given extension (the same
information that is returned by phpinfo()).
The core configuration information
is available using "main" as extension name.
Example #10 --ri example
$ php --ri date
date
date/time support => enabled
"Olson" Timezone Database Version => 2009.20
Timezone Database => internal
Default timezone => Europe/Oslo
Directive => Local Value => Master Value
date.timezone => Europe/Oslo => Europe/Oslo
date.default_latitude => 59.930972 => 59.930972
date.default_longitude => 10.776699 => 10.776699
date.sunset_zenith => 90.583333 => 90.583333
date.sunrise_zenith => 90.583333 => 90.583333
|