5

疑問に思っていましたが、cronジョブを作成する際に、wget [parameters]、curl [parameters]、php [parameters]に違いはありますか?

スクリプト「cron-00-00.php」があり、それを実行する必要がある場合、上記のそれぞれは何をしますか?

0 0 * * * php -q /your_abolute_path/includes/php/cron/cron-00-00.php >/dev/null 2>&1
0 0 * * * wget -O - -q -t 1 http://your_domain_com/includes/php/cron/cron-00-00.php >/dev/null 2>&1
0 0 * * * curl http://your_domain_com/includes/php/cron/cron-00-00.php

または、どちらかを使用することはオプションですか(私に最も適したものに応じて)?

私は現在、3つは異なる機能を持っていると考えています。私の考えを訂正してください。

4

1 に答える 1

9

PHPを直接実行するのが最も簡単なオプションです。Apache(または他のWebサーバー)インスタンスのネットワークスロットを占有しません。また、悪意のあるサードパーティからマシンを保護するように設計されたWebサーバーに関連する制限をバイパスします。ただし、PHPのコマンドラインバージョンが実行される環境はわずかに異なり、不十分に記述されたスクリプトが適切に動作するのを防ぐのに十分な場合があります。また、一部のWebサーバーは、apacheのプロセススペース内でapacheのユーザー権限を使用してPHPをDSOモジュールとして実行します。これは結果に影響を与える可能性があります(おそらくプラスまたはマイナス)。

残りの2つのオプションのうち、はよりcurlもわずかに広く展開されているwgetようです。そのため、ほぼ同じですが、これが2番目の選択肢になります。

于 2012-10-17T09:22:59.777 に答える