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"><?php<br />$o </span>
<span style="color: #007700">= </span>
<span style="color: #DD0000">'Hello'</span>
<span style="color: #007700">; <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
网友评论