ホームページ >バックエンド開発 >PHPチュートリアル >コマンドラインからPHPスクリプトに変数を渡すにはどうすればよいですか?
コマンド ラインから PHP スクリプトを実行する場合、多くの場合、変数を渡すことが必要になります。ただし、従来の $_GET メソッド (php myfile.php?type=daily など) を使用してこれを実現しようとすると、「入力ファイルを開けませんでした」エラーが発生する可能性があります。
これは、$_GET 配列が原因です。通常、スクリプトが Web ページとして実行される場合にのみアクセスできます。コマンド ラインからの変数の受け渡しを処理するには、別の方法を利用する必要があります。
コマンド ラインから PHP スクリプトを実行する場合、$argv を使用して変数を渡すことができます。配列。この配列には、スクリプト名の後に指定された引数が含まれます。たとえば、type=daily 変数を渡すには、次のようにスクリプトを呼び出します。
php myfile.php daily
PHP スクリプトでは、$argv[1].
Web およびコマンド ラインの実行の処理PHP スクリプトが Web とコマンド ラインの両方の実行を目的としている場合は、STDIN 定数を使用してスクリプトがコマンド ラインから呼び出されているかどうかを確認できます。次のコード スニペットはこれを示しています。if (defined('STDIN')) { $type = $argv[1]; } else { $type = $_GET['type']; }この例では、スクリプトがコマンド ラインから実行されている場合、型変数は $argv[1] から取得されます。それ以外の場合は、$_GET['type'] から取得されます。シェル スクリプトと Wget の使用コマンド ラインから変数を渡すもう 1 つのオプションは、シェル スクリプトと Wget を使用することです。 。これは、URL の一部として変数を渡す必要がある場合に便利です。次のシェル スクリプトは、このアプローチを示しています。
#!/bin/sh wget http://location.to/myfile.php?type=dailyこのスクリプトでは、変数 type=daily が URL の一部として渡されます。その後、スクリプトを cron から呼び出して、指定された変数を使用して PHP スクリプトを実行できます。
以上がコマンドラインからPHPスクリプトに変数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。