PHP命令行模式的相关参数详解

  PHP 的命令行模式能使得 PHP 脚本能完全独立于 web 服务器单独运行。在linux下我们通常可以使用PHP的命令行模式来调试一些东西,和crontab

定时执行一些PHP文件。

  通常PHP可执行的命令在PHP安装目录的bin文件夹下面,名称一般是php,或者php-cli。当然这跟你安装的方式及安装时配置的参数有关。

  由于有两种SAPI(Server Application Programming Interface,服务端应用编程端口):CLICGI,尽管它们之间有很多共同的行为,

但是他们还是有很多的不同,具体可以查看PHP的文档http://www.php.net/manual/zh/features.commandline.php。我们今天讲的便是CLI SAPI。

要确定你们使用的PHP命令是CLI还是CGI,可以使用命令/php_install_dir/bin/php -v查看,如下图:

可以看到该命令是CLI的。

下面让我们来看看具体的使用方法:

使用 /php_install_dir/bin/php -h可以查看该命令的相关参数

-a : 交互式运行 PHP。

-c : 指定php.ini的位置,当然配置文件的名称不一定是php.ini,你也可以取名为php-test.ini。

通常这样使用:
$ php -c /custom/directory/php-test.ini test.php
意思是说,使用配置文件php-test.ini来运行test.php。

-n :不使用任何php.ini文件直接运行。
-d :自定义php.ini文件中相关的配置选项的值:
     $ php -d max_execution_time  ,设置max_execution_time为1
  $ php -d max_execution_time=  ,设置max_execution_time为“”
    $ php -d max_execution_time=20,设置max_execution_time为20

-e :激活扩展信息模式,被用于调试/测试。

-f :指定要解析的PHP文件,默认可以省略。

-h :显示帮助。

-i : 相当于调用了phpinfo(),显示PHP相关的配置和模块。

-l :不检查致命错误,仅仅是简单的语法检查。

-m :打印出php内置的和已加载的zend模块
    $ php -m

-r : 在命令行内运行单行 PHP 代码
   $ php -r ' var $a=array(1,"123","abc");var_dump($a)';

-B :在处理 stdin 之前先执行 PHP 代码。PHP 5 新加。
-R :对每个输入行都执行 PHP 代码。
-F :对每个输入行都执行 PHP 文件。
-E :在处理完输入后执行的 PHP 代码。
-s :使用内建机制来解析文件并为其生成一个 HTML 高亮版本并将结果写到标准输出。

-v :打印PHP SAPI和Zend 的版本信息。

-w :打印去除了注释和多余空白的源代码。

-z :加载 Zend 扩展库。如果仅给定一个文件名,PHP 将试图从当前系统扩展库的默认路径(在 Linux 系统下,该路径通常由 /etc/ld.so.conf 指定)加载该扩展库。如果用一个绝对路径指定文件名,则不会使用系统的扩展库默认路径。如果用相对路径指定的文件名,则 PHP 仅试图在当前目录的相对目录加载扩展库。

--ini :打印配置文件的路径和名称。
  $ php --ini

--rf :打印关于指定某个函数的相关信息。
   $ php --rf substr

--rc :打印关于指定某个类的相关信息。

--re :打印关于指定某个php模块的相关信息。

--ri :打印关于指定某个php模块的配置信息。

posted @ 2011-05-30 21:00 winxp_520 阅读(...) 评论(...) 编辑 收藏