この記事では、コマンドラインに基づいてパラメータを指定してphpスクリプトを実行し、パラメータを取得する方法を分析します。参考のために皆さんと共有してください。詳細は次のとおりです:
1. なぜコマンドラインで php スクリプトを実行するのでしょうか?
個人的に理解しているのは、主な理由が 2 つあります:
1. crontab を使用して PHP を実行すると、サーバーが解凍される可能性があります。つまり、リアルタイム要件が高くないという条件があります。たとえば、SNS での友人更新のリアルタイム性の要件は高くありませんが、この時点で定期的に実行するとデータ量が比較的多くなり、Web サーバーやデータベース サーバーに大きな負荷がかかります。
2. 定期的に何かを完了する必要があります。たとえば、1 か月前のユーザーのメッセージを削除したいと考えています。この時点では、私が作成した php スクリプトは crontab で実行されます。実行する必要があるのは 1 回だけです。一日。 php プログラムを手動で実行する代わりに。
2. コマンドラインでパラメータを指定して php を実行し、パラメータを取得します。
それは、コマンドラインで php を実行することです。Apache というプロトコルは存在しません。すべての get および post は送信され、パラメーターはまったく影響せず、次のようにエラーが報告されます:
zhangying@ubuntu:~$ php test.php?aaa=bbb Could not open input file: test.php?aaa=bbb通常の状況では、定期的に実行される php スクリプトにパラメーターを渡す必要はありません。 、でも時には必要なこともあります
。 1. test.php テスト ファイルは非常に簡単ですよね
<?php print_r($argv); echo "\n"; echo $argc; echo "\n"; ?>
2. コマンド ラインから
zhangying@ubuntu:~$ php test.php aaa ccc bbbb Array ( [0] => test.php //参数0,文件本身 [1] => aaa //参数1 [2] => ccc //参数2 [3] => bbbb //参数3 ) 4 //$argc的值,参数的总数
を呼び出すこの方法は、root シェル スクリプトと非常に似ています。コードをコピーします
コードは次のとおりです:
zhangying@ubuntu:~$ sh c1.sh aaa bbb 2 つのパラメーター aaa bbb を c1.sh に渡しました。シェルは 3 つのパラメーターを取得します。$0 はファイルですそれ自体、$1 はパラメータ 1、$2 はパラメータ 2 です。違いは、php は配列の形式でそれを取得しますが、シェルは取得しないことです。 さらに PHP 関連のコンテンツに興味のある読者は、このサイトの特別トピック「PHP 基本構文の入門チュートリアル」と「PHP オブジェクト指向プログラミングの入門チュートリアル」をチェックしてください
この記事がお役に立てば幸いですPHP プログラミングに携わるすべての人へ。