0

さて、2分ごとに実行するcronジョブを作成し、メールを送信するように設定しました。さて、これはcronjobです。/home/sites/psychowars.com/public_html/cronjobs/energy_minute.phpこれは私が受け取るメールです。

/home/sites/psychowars.com/public_html/cronjobs/energy_minute.php:許可が拒否されました

さて、これは実行することになっているPHPファイルです。

<?php
require '../stats/users_stats.php';
    {
    if ($energy < $max_energy) {
    $sql = "UPDATE users SET energy=(energy + 1) WHERE id='".$id."'";
    $res = mysql_query($sql);
    }
    }
?>  

最大エネルギーよりも少ない場合、ユーザーは2分ごとに1つのエネルギーを受け取る必要があります。何が問題なのかについての解決策はありますか?

4

3 に答える 3

0

スクリプトの開始時に$_SERVER["DOCUMENT_ROOT"]を手動で設定し、cronjobスクリプトに相対パスを使用しないようにしてください。

$_SERVER["DOCUMENT_ROOT"] = "/home/sites/psychowars.com/public_html";
require $_SERVER["DOCUMENT_ROOT"].'/stats/users_stats.php';
if ($energy < $max_energy) {
  $sql = "UPDATE users SET energy=(energy + 1) WHERE id='".$id."'";
  $res = mysql_query($sql);
}
于 2012-12-11T00:26:25.433 に答える
0

それでも問題が解決しない場合は、www.guardiano.pm で cron ジョブを外部委託し、http ポストを呼び出すか、yoursite.com/users_stats.php にリクエストを取得して、cron ジョブを気にする必要がないようにすることができます。あなたが必要とする唯一のことがIMHOである場合、それを避けることができます

于 2015-06-12T15:53:11.517 に答える