首页 > 编程 > PHP > 正文

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

2020-03-22 19:30:06
字体:
来源:转载
供稿:网友
本篇文章给大家带来的内容是关于html' target='_blank'>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.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 -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 
: 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模式)的详细介绍的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表