ホームページ  >  記事  >  バックエンド開発  >  PHPでcliコマンドにカスタムパラメータを渡す方法の紹介

PHPでcliコマンドにカスタムパラメータを渡す方法の紹介

WBOY
WBOYオリジナル
2016-07-25 08:58:511519ブラウズ
ソースからコンパイルされたバージョンと事前に作成された PHP バージョンの両方に、デフォルトで PHP 実行可能ファイルが付属しています。この実行可能ファイルは、コマンド ライン PHP プログラムを実行するために使用できます。

システム上でこの実行可能ファイルを見つけるには、以下の手順に従います。 Windows: ファイル名は php.exe または (古いバージョンの PHP では) php-cli.exe です。 Linux: PHP インストール ディレクトリの bin/ サブディレクトリに保存されます。

注: CLI モードと CGI モードで実行するときに使用される PHP.INI は同じ構成セットではないため、個別に構成する必要があります。 どのシステム上にあるかに関係なく、-v パラメーターを使用して呼び出して、正しく動作することを確認するためにテストする必要があります:

リーリー PHP のバージョン番号を返す必要があります。

CLI コマンドを使用する hello.php

という名前の単純な PHP CLI プログラム リーリー ここで、CLI 実行可能ファイルを呼び出し、スクリプトのファイル名を指定して、コマンド ライン プロンプトからこのプログラムを実行してみます。 リーリー 標準入出力を使用する PHP CLI は、コマンド ライン プロンプトでのインタープリタとの対話を容易にする 3 つの定数を定義します。これらの定数を以下の表に示します。
定数 手順
標準入力 標準入力デバイス
標準出力 標準出力デバイス
標準エラー 標準エラー機能

これら 3 つの定数を独自の PHP スクリプトで使用して、ユーザー入力を受け入れたり、処理や計算の結果を表示したりできます。

使用例:

リーリー このスクリプトでは、fwrite() 関数が最初にユーザー名を尋ねるメッセージを標準出力デバイスに書き込みます。次に、標準入力デバイスから取得したユーザー入力情報を PHP 変数に読み取り、文字列に結合します。次に、 fwrite() を使用して文字列を標準出力デバイスに出力します。 コマンドラインカスタム変数1【$argv|$argc】 コマンド ラインでプログラムに引数を入力して、プログラムの実行方法を変更するのが一般的です。これは CLI プログラムでも行うことができます。 PHP CLI には、この目的のために特別に設計された 2 つの特別な変数が付属しています。 1 つは $argv 変数で、コマンド ラインを通じて PHP スクリプトに渡されたパラメーターを個別の配列要素として保存します。 もう 1 つは $argc 変数で、$argv 配列の要素数を保存するために使用されます。 使用例: リーリー 出力からわかるように、index.php に渡された値は、$argv 内の配列要素として自動的に表示されます。 $argv の最初の引数は常にスクリプト自体の名前であることに注意してください。

注: Console_Getopt PEAR クラスを使用して、より複雑なコマンド ライン パラメーターを PHP に追加することもできます。

コマンドラインカスタム変数2 [パラメータを受け取るにはConsole_Getoptを使用する]

注: この変数は register_argc_argv がオンになっている場合にのみ使用できます

getopt($option, $longopts) // 最初の $option は -h vb を受け取り、2 番目のパラメーターは --require sss を受け取ります

使用例

リーリー コマンドライン変数3 [CLIパラメータを使用する]

コマンドラインで PHP スクリプトパラメータを渡すことに加えて、PHP CLI パラメータを渡して動作方法を変更することもできます。

パラメータ 手順
インタラクティブに実行
-c パスはphpの.iniファイルをパスから読み取ります
PHPの.iniファイルを読まずに直接実行します
-m コンパイルされたモジュールをリストする
-私 PHPビルドに関する情報を表示します
-l PHPスクリプトの構文をチェックする
ソースコードをカラーで表示
w コメントなしでソースコードを表示します
-h ヘルプを表示

交互模式 你还可以以交互方式使用PHP CLI,也就是输入命令,马上获得结果。 要得到这种效果,只需要使用一个参数调用CLI可执行文件就行了,就像下面这样:

shell> /path/to/php -a
Interactive mode enabled
<?php
echo mktime();
1121187283
echo 2+2;
4
exit();
shell>
或者,你可以不使用-a参数就调用CLI可执行文件,直接输入完整的脚本或者代码段。

-D来结束代码段,并让CLI来执行它。见下面的例子:

shell> /path/to/php
<?php
echo date("d-M-Y h:i:s", time());
?>
<Ctrl-D>
12-Jul-2005 06:54:04


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。