PHP命令行(CLI模式)的详细介绍

PHP命令行(CLI模式)的详细介绍

内容导读

收集整理的这篇技术教程文章主要介绍了PHP命令行(CLI模式)的详细介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4932字,纯文字阅读大概需要8分钟

内容图文

本篇文章给大家带来的内容是关于PHP命令行(CLI模式)的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

CLI模式

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

$ php -hUsage: php [options] [-f] <file> [--] [args...]
 php [options] -r <code> [--] [args...]
 php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
 php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
 php [options] -S <addr>:<port> [-t docroot] [router]
 php [options] -- [args...]
 php [options] -a
-a






 Run as interactive shell








 以交互shell模式运行
-c <path>|<file> Look for php.ini file in this directory








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






 No configuration (ini) files will be used








 指定不使用php.ini文件
-d foo[=bar]

 Define INI entry foo with value 'bar'








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






 Generate extended information for debugger/profiler








 为调试和分析生成扩展信息
-f <file>



Parse and execute <file>.








 解释和执行文件<file>
-h






 This help








 打印帮助信息
-i






 PHP information








 显示PHP的基本信息
-l






 Syntax check only (lint)








 进行语法检查(lint)
-m






 Show compiled in modules








 显示编译到内核的模块
-r <code>



Run PHP <code> without using script tags <?..?>








 运行PHP代码<code>,不需要使用标签<?..?>
-B <begin_code>
Run PHP <begin_code> before processing input lines








 在处理输入之前先执行PHP代码<begin_code>
-R <code>



Run PHP <code> for every input line








 对输入的每一行作为PHP代码<code>运行
-F <file>



Parse and execute <file> for every input line








 对输入的每一行解析和执行<file>
-E <end_code>

Run PHP <end_code> after processing all input lines








 在处理所有输入的行之后执行PHP代码<end_code>
-H






 Hide any passed arguments from external tools.








 隐藏任何来自外部工具传递的参数
-S <addr>:<port> Run with built-in web server.








 运行内置的web服务器
-t <docroot>

 Specify document root <docroot> for built-in web server.








 指定用于内置web服务器的文档根目录<docroot>
-s






 Output HTML syntax highlighted source.








 
输出HTML语法高亮的源码 -v Version number 输出PHP的版本号 -w Output source with stripped comments and whitespace. 输出去掉注释和空格的源码 -z <file> Load Zend extension <file>. 载入Zend扩展文件<file> args... Arguments passed to script. Use -- args when first argument starts with - or script is read from stdin 传递给要运行的脚本的参数。当第一个参数以'-'开始或者是脚本是从标准输入读取的时候,使用'--'参数 --ini Show configuration file names 显示PHP的配置文件名 --rf <name> Show information about function <name>. 显示关于函数<name>的信息 --rc <name> Show information about class <name>. 显示关于类<name>的信息 --re <name> Show information about extension <name>. 显示关于扩展<name>的信息 --rz <name> Show information about Zend extension <name>. 显示关于Zend扩展<name>的信息 --ri <name> Show configuration for extension <name>. 显示扩展<name>的配置信息

以交互式Shell模式运行PHP

http://php.com/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 -aInteractive shellphp > echo 5+8;php > 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 redisredisRegistered save handlers => files user redisThis program is free software; you can redistribute it and/or modify

语法检查

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

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

$ php -l index.phpNo syntax errors detected in index.php

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

$ php -l index.phpPHP 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命令行参数:: console.php: hello: world

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

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

以上就是PHP命令行(CLI模式)的详细介绍的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHP命令行(CLI模式)的详细介绍全部内容,希望文章能够帮你解决PHP命令行(CLI模式)的详细介绍所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。


本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com