php -d cli_PHP命令行(CLI模式)

CLI模式

CLI模式其实就是命令行运行模式,英文全称Command-Line Interface(命令行接口)

$php -h

Usage: php [options] [-f] [--] [args...]

php [options] -r [--] [args...]

php [options] [-B] -R [-E ] [--] [args...]

php [options] [-B] -F [-E ] [--] [args...]

php [options] -S:[-t docroot] [router]

php [options] -- [args...]

php [options] -a

-aRun as interactive shell以交互shell模式运行

-c| Look for php.ini file in this directory

指定php.ini文件所在的目录

-n No configuration(ini) fileswill be used

指定不使用php.ini文件

-d foo[=bar] Define INI entry foo with value 'bar'

定义一个INI实体,key为foo,value为'bar'

-e Generate extended informationfor debugger/profiler

为调试和分析生成扩展信息

-f Parse and execute .解释和执行文件-h This help

打印帮助信息

-i PHP information

显示PHP的基本信息

-l Syntax check only(lint)进行语法检查(lint)-m Show compiled in modules

显示编译到内核的模块

-r Run PHP without using script tags ..?>运行PHP代码,不需要使用标签..?>-B Run PHP before processing input lines

在处理输入之前先执行PHP代码-R Run PHP forevery input line

对输入的每一行作为PHP代码运行

-F Parse and execute forevery input line

对输入的每一行解析和执行-E Run PHP after processing all input lines

在处理所有输入的行之后执行PHP代码-H Hide any passed arguments from external tools.隐藏任何来自外部工具传递的参数

-S: Run with built-in web server.运行内置的web服务器

-t Specify document root for built-in web server.指定用于内置web服务器的文档根目录-s Output HTML syntax highlighted source.输出HTML语法高亮的源码

-v Version number

输出PHP的版本号

-w Output source with stripped comments and whitespace.输出去掉注释和空格的源码

-z Load Zend extension .载入Zend扩展文件args... Arguments passed to script. Use -- args whenfirst argument

starts with - or script is read from stdin

传递给要运行的脚本的参数。当第一个参数以'-'开始或者是脚本是从标准输入读取的时候,使用'--'参数

--ini Show configuration file names

显示PHP的配置文件名

--rf Show information about function .显示关于函数的信息

--rc Show information about class .显示关于类的信息

--re Show information about extension .显示关于扩展的信息

--rz Show information about Zend extension .显示关于Zend扩展的信息

--ri Show configuration for extension .显示扩展的配置信息

以交互式Shell模式运行PHP

http://php.net/manual/en/features.commandline.interactive.php

The interactive shell stores your history which can be accessed using the up and down keys. The history is saved in the ~/.php_history file.

交互shell模式保存输入的历史命令,可以使用上下键访问到。历史被保存在~/.php_history文件。

$php -a

Interactiveshellphp> echo 5+8;

13php> function addTwo($n)php>{

php {return $n + 2;php { }

php> var_dump(addtwo(2));int(4)

查找相关类、扩展或者函数的信息

通常,我们可以使用php --info命令或者在在web服务器上的php程序中使用函数phpinfo()显示php的信息,然后再查找相关类、扩展或者函数的信息,这样做实在是麻烦了一些。

$php --info | grep redis

redis

Registered save handlers=> filesuser redis

This program is free software; you can redistribute it and/or modify

语法检查

只需要检查php脚本是否存在语法错误,而不需要执行它,比如在一些编辑器或者IDE中检查PHP文件是否存在语法错误。

使用-l(--syntax-check)可以只对PHP文件进行语法检查。

$ php -l index.php

No syntax errors detected in index.php

假如index.php中存在语法错误。

$ php -l index.php

PHP Parse error: syntax error, unexpected 'echo' (T_ECHO) in index.php on line 3Parse error: syntax error, unexpected 'echo' (T_ECHO) in index.php on line 3Errors parsing index.php

命令行脚本

$argc 包含了 $argv数组包含元素的数目

$argv 是一个数组,包含了提供的参数,第一个参数总是脚本文件名称

console.php的命令行脚本文件

<?phpecho '命令行参数个数: ' . $argc . "n";echo "命令行参数:n";foreach ($argv as $index => $arg) {echo " {$index} : {$arg}n";

}

$ php console.php hello world

命令行参数个数: 3命令行参数:

0 : console.php

1: hello

2 : world

可以看到,第0个参数是我们执行的脚本名称。需要注意的是,如果提供的第一个参数是以-开头的话,需要在前面增加--,以告诉php这后面的参数是提供给我们的脚本的,而不是php执行文件的(php -r 'var_dump($argv);' -- -h)。

另外,在脚本中,我们可以通过php_sapi_name()函数判断是否是在命令行下运行的。

$ php -r 'echo php_sapi_name(), PHP_EOL;'

cli

内容来源于网络如有侵权请私信删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值