ホームページ  >  記事  >  バックエンド開発  >  PHP コマンドライン (CLI モード) の詳細な紹介

PHP コマンドライン (CLI モード) の詳細な紹介

不言
不言転載
2019-01-03 10:32:255397ブラウズ
この記事では、PHP コマンド ライン (CLI モード) について詳しく説明します。これには一定の参考値があります。必要な友人が参照できます。お役に立てれば幸いです。

CLI モード

CLI モードは実際にはコマンド ライン実行モードであり、英語の完全な名前は 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 を対話型シェル モードで実行する

http://php.net/manual/en/features.commandline。 interactive.php
対話型シェルには、上下キーを使用してアクセスできる履歴が保存されます。履歴は ~/.php_history ファイルに保存されます。
対話型シェル モードでは、入力された履歴コマンドが保存され、上下キーを使用してアクセスします。履歴は ~/.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)

関連するクラス、拡張機能、または関数に関する情報を検索する

通常は、php --info コマンドまたは Web サーバー上で使用できます。 PHP プログラムでは、phpinfo() 関数を使用して PHP 情報を表示し、関連するクラス、拡張機能、または関数の情報を検索しますが、これは非常に面倒です。

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

文法チェック

一部のエディタやIDE PHP ファイルに構文エラーがないか確認します。

PHP ファイルに対してのみ構文チェックを実行するには、-l (--syntax-check) を使用します。

$ php -l index.php
No syntax errors detected in index.php

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

コマンド ライン スクリプト

$argc には、$argv 配列に含まれる要素の数が含まれます
$argv は、含まれているパラメータが含まれます。最初のパラメータは常に、スクリプト ファイル名
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

のコマンド ライン スクリプト ファイルです。 0th パラメータは実行するスクリプトの名前です。指定された最初のパラメータが - で始まる場合は、次のパラメータが PHP 実行ファイルではなくスクリプトに提供されることを PHP に伝えるために、前に - を追加する必要があることに注意してください (php -r 'var_dump($argv)) ;' -- -h)。
さらに、スクリプトでは php_sapi_name() 関数を使用して、コマンドラインで実行されているかどうかを確認できます。

うわー

以上がPHP コマンドライン (CLI モード) の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。