php フルセットラインモード、つまり php-cli は、公式ドキュメントでは CLI SAPI (サーバー アプリケーション プログラミング インターフェイス、サーバー アプリケーション プログラミング ポート) と呼ばれています。かなり複雑に聞こえます。実際、この名前は、php がもともとサーバーサイドのスクリプト言語であったという事実に由来しています。
サーバー モードとの違い
サーバー モードには、主に Web サーバー モードと CGI 実行可能プログラムとしての 2 つの動作モードがあります。 apach のモジュール (php5apache2.dll など)。後者は php-cig などの実行可能プログラムとして使用されます。現在の代替品は php-fpm (FastCGI Process Manager) です。
php を参照してください。 -fpm 構成。サーバー上に、内容を含むスクリプト ファイルを置きます:
<?php phpinfo(); ?>
出力:
... Server API FPM/FastCGI Virtual Directory Support disabled Configuration File (php.ini) Path /etc/php7 Loaded Configuration File /etc/php7/php.ini Scan this dir for additional .ini files /etc/php7/conf.d ...
説明 設定ファイルは、/etc/php7/php の /etc/php7/conf.d
です。 inicli モード構成ファイルをもう一度確認します。
php -r "phpinfo();"
-r を実行します。これは、完全なセットを実行するために実行することを意味します。出力は次のとおりです:
... Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /etc/php/7.0/cli Loaded Configuration File => /etc/php/7.0/cli/php.ini Scan this dir for additional .ini files => /etc/php/7.0/cli/conf.d Additional .ini files parsed => /etc/php/7.0/cli/conf.d/10-opcache.ini, ...
構成ファイルのパスは次のとおりです。 /etc/php/7.0/cli/php.ini と php-fpm は異なります。
PHP は一時的なサーバー スクリプトとしてのみ使用でき、長期的な作業には使用できない、セキュリティ設定がコマンド ラインに影響するなどの意見をよく聞きますが、これは明らかに間違っています。
その他の違い
cli モードでは、$stderr = fopen('php://stderr', ' w など) の 3 つの定数 STDIN、STDOUT、および STDERR が定義されます。 ');
CLI SAPI は、現在のディレクトリを実行スクリプトが配置されているディレクトリに変更しません。
php をシェル スクリプトとして使用します
php スクリプトをスクリプトなどのシェル スクリプトとして使用するには 2 つの方法があります。
hello.php
<?php echo "hello world!"; var_dump($argv); ?>
方法 1、php スクリプト パラメーター
~php hello.php -s 'me' hello world array(3) { [0]=> string(9) "hello.php" [1]=> string(2) "-s" [2]=> string(2) "me" }
方法 2、# を追加します。 ## php ファイルヘッダー
#!/usr/bin/php
以上がPHPコマンドラインモードの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。