[PHP]php cli命令行下运行php的三种方法(带参数)

时间:2022-05-14 14:29:12

php发行版都默认自带一个php可执行文件。这个可执行文件可以被用来运行命令行的php程序。

要在你的系统中找到这个可执行文件,就要遵照下面的步骤:

windows:放在php主安装目录下,文件名为php.exe或者(在较老版本中)是php-cli.exe。

linux:保存在php安装目录的bin/子目录下。

需要注意的是CLI模式和CGI模式运行时用的php.ini并非同一套配置,需要单独配置。

不论是在哪一个操作系统里,你都需要对它进行测试,以保证它能正常运行,方法是用-v参数调用它:

shell>/paht/php.exe -v

PHP
5.0.0 (cli) (built: Jun 1 2005 18:32:10)
Copyright
(c) 1997-2004 The PHP Group
Zend
Engine v2.0.0, Copyright (c) 1998-2004 Zend Technologies

第一种方法:

在php中命令行附加的参数将会以数组的形式存储在变量$argv中,另一个变量$argc中则保存了变量$argv中参数的个数。代码如下:

[PHP]php cli命令行下运行php的三种方法(带参数)

在命令行下执行结果如下:

[PHP]php cli命令行下运行php的三种方法(带参数)

第二种方法:

PHP CLI定义了三个常量,以便命令行提示符下与解释器进行交互操作更加容易。这些常量见下表:

常量 说明
STDIN 标准的输入设备
STDOUT 标准的输出设备
STDERR 标准的错误设备









你可以在自己的PHP脚本里使用这三个常量,以接受用户的输入,或者显示处理和计算的结果。代码如下:

[PHP]php cli命令行下运行php的三种方法(带参数)

命令行下执行如下:

[PHP]php cli命令行下运行php的三种方法(带参数)

在这个脚本里,fwrite()函数首先会向标准的输出设备写一条消息,询问用户的姓名。然后它会把从标准输入设备获得的用户输入信息读取到一个PHP变量里,并它把合并成为一个字符串。然后就用fwrite()把这个字符串打印输出到标准的输出设备上。

第三种方法:

使用Console_Getopt接收参数,注意这个变量仅在register_argc_argv打开时可用

getopt($option,$longopts)//第一个$option接收 -h vb 第二个参数接收 --require sss

[PHP]php cli命令行下运行php的三种方法(带参数)

运行结果:

[PHP]php cli命令行下运行php的三种方法(带参数)