在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
转载: http://www.cnblogs.com/zcy_soft/archive/2011/12/10/2283437.html
所有的PHP发行版,不论是编译自源代码的版本还是预创建的版本,都在默认情况下带有一个PHP可执行文件。这个可执行文件可以被用来运行命令行的PHP程序。 需要注意的是CLI模式和CGI模式运行时用的PHP.INI并非同一套配置,需要单独配置。 PHP 5.6.11 (cli) (built: Jul 9 2015 20:55:40) Copyright (c) 1997-2015 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
使用CLI命令 <?php echo 'hello cli'; 现在,试着在命令行提示符下运行这个程序,方法是调用CLI可执行文件并提供脚本的文件名: shell> /path/php.exe /example/hello.php
Hello from the CLI
使用标准的输入和输出
使用示例: <?php
fwrite(STDOUT, 'Please Enter Your Name ');
$name = trim(fgets(STDIN ) );
fwrite(STDOUT, "hello $name !");
命令行自定义变量1【$argv|$argc】
使用示例: <?php
print_r($argv);
运行: php -f .\cli.php name age sex
array(4) {
[0]=>
string(9) ".\cli.php"
[1]=>
string(4) "name"
[2]=>
string(3) "age"
[3]=>
string(3) "sex"
}
要注意的是,$argv的第一个自变量总是脚本自己的名称。 注意:我们还可以用Console_Getopt PEAR类向PHP增加更加复杂的命令行参数。
命令行自定义变量2【使用Console_Getopt接收参数】 注意:这个变量仅在 register_argc_argv 打开时可用 getopt($option, $longopts) // 第一个$option接收 -h vb 第二个参数接收 --require sss <?php
$shortopts = "";
$shortopts .= "f:"; // Required value
$shortopts .= "v::"; // Optional value
$shortopts .= "abc"; // These options do not accept values
$longopts = array(
"required:", // Required value
"optional::", // Optional value
"option", // No value
"opt", // No value
);
$options = getopt($shortopts, $longopts);
var_dump($options);
结果: php.exe \tools\index.php -f "value for f" -v -a --re
quired value --optional="optional value" --option will
array(6) {
["f"]=>
string(11) "value for f"
["v"]=>
bool(false)
["a"]=>
bool(false)
["required"]=>
string(5) "value"
["optional"]=>
string(14) "optional value"
["option"]=>
bool(false)
}
命令行变量3【使用CLI参数】 除了用命令行传递PHP脚本参数,还可以传递PHP CLI参数以更改其工作方式。
你还可以以交互方式使用PHP CLI,也就是输入命令,马上获得结果。 shell> /path/to/php -a
Interactive mode enabled
<?php
echo mktime();
1121187283
echo 2+2;
4
exit();
或者,你可以不使用-a参数就调用CLI可执行文件,直接输入完整的脚本或者代码段。 用<Ctrl>-D来结束代码段,并让CLI来执行它。见下面的例子 shell> /path/to/php <?php echo date("d-M-Y h:i:s", time());
PHP 5.4.0起, CLI SAPI 提供了一个内置的Web服务器。 这个内置的Web服务器主要用于本地开发使用,不可用于线上产品环境。
1)启动服务 php -S localhost;8000 //-S: server 服务 指定根目录 php -S localhost:8000 -t foo/
|
2022-08-15
2022-08-17
2022-11-06
2022-08-17
2022-07-22
请发表评论