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

不言
Freigeben: 2023-04-04 16:30:02
nach vorne
5424 Leute haben es durchsucht
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>的配置信息
Nach dem Login kopieren

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)
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage