GNU/Linux >> Linux の 問題 >  >> Linux

$_GET パラメータを cron ジョブに渡す

あなたの質問に対する直接的な回答ではありませんが、より良い解決策だと思います:

cron 以外にスクリプトを実行させたくない場合は、web-root の外に置いてください。そうすれば、Web サーバー経由のアクセスはまったくありません。

コマンドを特別なユーザーとしても実行する必要がある場合は、GET を使用しないでください。 ただし、ユーザーにログインしてログイン セッション (特定のセット セッション変数...) を確認し、そのページにのみスクリプトを含めます。

一般にアクセス可能なスクリプトは次のようになります:

session_start();

if (isset($_SESSION['user']))
{
  include '/path/to/script/outside/of/web-root';
}
else
{
  die('No access.');
}

$_GET[] &$_POST[] 連想配列は、スクリプトが Web サーバー経由で呼び出されたときにのみ初期化されます。コマンドラインから呼び出されると、パラメーターは $argv で渡されます 配列、C と同様。

<ブロック引用>

コマンド ラインからの実行時にスクリプトに渡されるすべての引数の配列が含まれます。

コマンドは次のようになります:

* 3 * * * /path_to_script/cronjob.php username=test password=test code=1234 

次に、parse_str() を使用してパラメータを設定およびアクセスします。

<?php

var_dump($argv);

/*
array(4) {
  [0]=>
  string(27) "/path_to_script/cronjob.php"
  [1]=>
  string(13) "username=test"
  [2]=>
  string(13) "password=test"
  [3]=>
  string(9) "code=1234"
}
*/

parse_str($argv[3], $params);

echo $params['code']; // 1234

Linux
  1. Linuxコマンドのスクリプトを作成する方法

  2. [解決済み]ルートディレクトリにファイルを書き込むcronジョブwget

  3. cronラッパースクリプトの使用

  1. PHPスクリプトが実行されているかどうかを確認するためのcronジョブ、実行されていない場合は実行しますか?

  2. リモート ssh コマンドで変数を渡す

  3. Linuxコマンドプロンプトで$ _GETを渡すPHP

  1. PHPスクリプトを実行するためのGodaddy cronジョブのセットアップ

  2. Linux で 6 時間ごとに cron ジョブを実行する

  3. 毎分よりも頻繁に cron ジョブを実行できますか?