Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Einführung in die PHP-Befehlszeile (CLI-Modus)

Detaillierte Einführung in die PHP-Befehlszeile (CLI-Modus)

不言
不言nach vorne
2019-01-03 10:32:255543Durchsuche
Dieser Artikel bietet Ihnen eine detaillierte Einführung in die PHP-Befehlszeile (CLI-Modus). Ich hoffe, dass er für Freunde hilfreich ist.

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 &#39;bar&#39;
                   定义一个INI实体,key为foo,value为&#39;bar&#39;
  -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
                   传递给要运行的脚本的参数。当第一个参数以&#39;-&#39;开始或者是脚本是从标准输入读取的时候,使用&#39;--&#39;参数

  --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>的配置信息

PHP im interaktiven Shell-Modus ausführen

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 modify

Grammatikprüfung

Sie 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.php

Wenn in index.php ein Syntaxfehler vorliegt.

$ php -l index.php
PHP Parse error:  syntax error, unexpected &#39;echo&#39; (T_ECHO) in index.php on line 3
Parse error: syntax error, unexpected &#39;echo&#39; (T_ECHO) in index.php on line 3
Errors parsing index.php

Befehlszeilenskript

$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 &#39;命令行参数个数: &#39; . $argc . "\n";
echo "命令行参数:\n";
foreach ($argv as $index => $arg) {
    echo "    {$index} : {$arg}\n";
}


$ php console.php hello world
命令行参数个数: 3
命令行参数:
: console.php
: hello
: world

Sie 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 &#39;echo php_sapi_name(), PHP_EOL;&#39;
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen