Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Einführung in die PHP-Befehlszeile (CLI-Modus)
CLI-Modus
Der CLI-Modus ist eigentlich der Befehlszeilen-Ausführungsmodus, der vollständige englische Name lautet Command-Line Interface (Command Line Interface)
$ php -h Usage: 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>的配置信息
http://php.net/manual/en/features.commandline. Interactive.php
Die interaktive Shell speichert Ihren Verlauf, auf den Sie mit den Auf- und Ab-Tasten zugreifen können. Der Verlauf wird in der Datei ~/.php_history gespeichert. Der Verlauf wird in der Datei ~/.php_history gespeichert.
$ php -a Interactive shell php > echo 5+8; php > function addTwo($n) php > { php { return $n + 2; php { } php > var_dump(addtwo(2)); int(4)Informationen zu verwandten Klassen, Erweiterungen oder Funktionen finden Normalerweise können wir den Befehl php --info oder auf dem Webserver verwenden Im PHP-Programm wird die Funktion phpinfo() verwendet, um PHP-Informationen anzuzeigen und dann Informationen über verwandte Klassen, Erweiterungen oder Funktionen zu finden. Dies ist wirklich mühsam.
$ php --info | grep redis redis Registered save handlers => files user redis This program is free software; you can redistribute it and/or modifyGrammatikprüfungSie müssen nur prüfen, ob das PHP-Skript Syntaxfehler aufweist, ohne es auszuführen, wie z. B. in einigen Editoren oder IDEs Überprüfen Sie die PHP-Datei auf Syntaxfehler. Verwenden Sie -l (--syntax-check), um nur die Syntax von PHP-Dateien zu überprüfen.
$ php -l index.php No syntax errors detected in index.phpWenn in index.php ein Syntaxfehler vorliegt.
$ php -l index.php PHP Parse error: syntax error, unexpected 'echo' (T_ECHO) in index.php on line 3 Parse error: syntax error, unexpected 'echo' (T_ECHO) in index.php on line 3 Errors parsing index.phpBefehlszeilenskript$argc enthält die Anzahl der Elemente im $argv-Array
$argv ist ein Array, das enthält Die bereitgestellten Parameter, der erste Parameter ist immer der Name der Skriptdatei
console.php Befehlszeilenskriptdatei
<?php echo '命令行参数个数: ' . $argc . "\n"; echo "命令行参数:\n"; foreach ($argv as $index => $arg) { echo " {$index} : {$arg}\n"; } $ php console.php hello world 命令行参数个数: 3 命令行参数: : console.php : hello : worldSie können sehen, der 0. Die Parameter ist der Name des Skripts, das wir ausführen. Es ist zu beachten, dass Sie, wenn der erste bereitgestellte Parameter mit „-“ beginnt, „-“ voranstellen müssen, um PHP mitzuteilen, dass die folgenden Parameter unserem Skript und nicht der PHP-Ausführungsdatei bereitgestellt werden (php -r 'var_dump($argv)) ;' -- -H).
Darüber hinaus können wir im Skript die Funktion php_sapi_name() verwenden, um festzustellen, ob es unter der Befehlszeile ausgeführt wird.
$ php -r 'echo php_sapi_name(), PHP_EOL;' cli
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die PHP-Befehlszeile (CLI-Modus). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!