0

過去数時間、cronJobを機能させるのに苦労しています。私はすべてをグーグルで検索し、stackoverflowで検索しましたが、どういうわけか私が見たコードは期待どおりに機能しませんでした。これが私がここに投稿した理由です。

私はSSHでこれを行っています:

crontab -e

次に、cronjobリストを編集して、これを追加します。

MAILTO=myemail@serv.com
*   *   *   *   *   wget -q "http://www.mywebsite.com/path/to/cronJob.php"

PHPの応答でメールに応答がありません。PHPはブラウザから呼び出すと出力されますが、電子メールには何も表示されませんが、最後の引用符を削除するなど、cronJobにエラーを入れると、エラーのある電子メールが表示されます。

次に、CTRL + Xを押して保存し、nginxを再起動します。

で確認しcrontab -lたところ、cronジョブがあります。

私がやりたいのは、私のWebサイトからのURLを1分ごとに実行することです。ブラウザからURLを呼び出すと、機能しているようです。

私はUBUNTUとnGinxを持っています

何か助けはありますか?

4

3 に答える 3

4

を使用し-O -ます。

問題は、デフォルトで wget がその結果をファイルに保存することです。コンテンツを stdout にダンプしたい。

これは、作業ディレクトリにあるすべてのcronJob.php.*ファイルもクリーンアップする必要があることを意味します;)

そう:

* * * * * wget -q -O - "http://www.mywebsite.com/path/to/cronJob.php"
于 2012-12-22T14:23:50.553 に答える
1

問題が見つかりました。コードにこれがありました:require_once($_SERVER['DOCUMENT_ROOT'].'/something/cronJob.php')。

どうやら $_SERVER['DOCUMENT_ROOT'] は空でした。

だから私はこれを使用して修正しました:

$path = str_replace('/something/cronJob.php','',$_SERVER['PHP_SELF']);

于 2012-12-22T15:10:50.510 に答える
0

何が問題なのかを調べるためのいくつかの手順を次に示します。

  1. スクリプトMAILTO=myemail@serv.comを作成し、crontab ではなく、そのスクリプトに含める必要があります
  2. そのスクリプトはコマンド ラインから正常に実行されますか?
  3. crontab同じ環境変数を持っていますか
于 2012-12-22T14:25:04.050 に答える