コマンドラインから PHP スクリプトに変数を渡す
crontab などのコマンドライン経由で PHP スクリプトを実行する場合、次のようにすると便利です。カスタマイズと制御のためにスクリプトに変数を渡します。ただし、クエリ パラメーターをスクリプトのパスに追加する従来の方法 (php myfile.php?type=daily など) は機能しない可能性があります。
$argv 配列
コマンドラインで実行する場合、PHP はスクリプトに渡される引数を含む $argv 配列を提供します。最初の要素 $argv[0] はスクリプトのファイル名です。 $argv[1] から始まる後続の要素には、追加の引数が含まれます。
$argv を介した引数の受け渡し
この場合、型引数を渡すには、単純に呼び出します。スクリプトは次のようになります:
php myfile.php daily
PHP スクリプト内で、$argv[1]:
$type = $argv[1];
Web ページの考慮事項 を使用して引数を取得できます。
PHP スクリプトが Web ページとしても使用されている場合は、コマンドラインと Web アクセスを区別する必要があります。 1 つの方法は、STDIN が定義されているかどうかを確認することです。これは通常、コマンド ラインの実行を示します:
if (defined('STDIN')) { $type = $argv[1]; } else { $type = $_GET['type']; }
または、シェル スクリプトと Wget を使用して、コマンド ラインから Web 経由でスクリプトにアクセスすることもできます:
#!/bin/sh wget http://location.to/myfile.php?type=daily
$argv の使用法を理解し、Web アクセスを考慮することで、コマンド ラインから実行される PHP スクリプトに変数を効果的に渡すことができます。
以上がコマンドラインから実行される PHP スクリプトに変数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。