Introduction détaillée à la ligne de commande PHP (mode CLI)

不言
Libérer: 2023-04-04 16:30:02
avant
5405 Les gens l'ont consulté
Cet article vous apporte une introduction détaillée à la ligne de commande PHP (mode CLI). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Mode CLI

Le mode CLI est en fait le mode d'exécution en ligne de commande, le nom anglais complet est 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>的配置信息
Copier après la connexion

Exécutez PHP en mode shell interactif

http://php.net/manual/en/features. commandline.interactive .php
Le shell interactif stocke votre historique accessible à l'aide des touches haut et bas. L'historique est enregistré dans le fichier ~/.php_history Visité. L'historique est enregistré dans le fichier ~/.php_history.

$ 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)
Copier après la connexion

Trouver des informations sur les classes, extensions ou fonctions associées

Habituellement, nous pouvons utiliser la commande php --info ou sur le web Dans le programme PHP sur le serveur, la fonction phpinfo() est utilisée pour afficher des informations PHP, puis pour trouver des informations sur les classes, extensions ou fonctions associées. C'est vraiment gênant.

$ php --info | grep redis
redis
Registered save handlers => files user redis
This program is free software; you can redistribute it and/or modify
Copier après la connexion

Vérification de la grammaire

Il suffit de vérifier si le script php contient des erreurs de syntaxe, sans l'exécuter, comme dans certains éditeurs Ou vérifiez le fichier PHP dans l'IDE pour les erreurs de syntaxe.

Utilisez -l (--syntax-check) pour vérifier uniquement la syntaxe des fichiers PHP.

$ php -l index.php
No syntax errors detected in index.php
Copier après la connexion

S'il y a une erreur de syntaxe dans index.php.

$ 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
Copier après la connexion

Script de ligne de commande

$argc contient le nombre d'éléments contenus dans le tableau $argv

$argv est un array, Contient les paramètres fournis, le premier paramètre est toujours le nom du fichier de script
fichier de script de ligne de commande console.php

<?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
Copier après la connexion

peut être vu , le 0ème paramètre est le nom du script que nous exécutons. A noter que si le premier paramètre fourni commence par -, vous devez ajouter - devant pour indiquer à PHP que les paramètres suivants sont fournis à notre script, et non au fichier d'exécution PHP (php -r 'var_dump($argv) ;' -- -h).

De plus, dans le script, nous pouvons utiliser la fonction php_sapi_name() pour déterminer si elle s'exécute sous la ligne de commande.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!