CronJobs权限被拒绝

时间:2012-12-11 00:20:10

标签: php mysql sql cron

好的,所以我每两分钟做一次cronjob并设置它给我发电子邮件。嗯,这是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个能量。 对于什么是错误的任何解决方案?

3 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:0)

您已回答here

$ _ SERVER变量未从cron作业设置。

答案 2 :(得分:0)

如果仍然无法正常工作,您可以将您的cronjob外包给www.guardiano.pm并拨打http帖子或向yoursite.com/users_stats.php索取请求,这样您就不必关心cronjobs了。如果你唯一需要的是恕我直言,你可以避免那个