我有一个PHP文件,如果他们的能量低于他们的max_energy
,那么会为用户提供1点能量:
<?php
if ($energy < $max_energy) {
$sql = "UPDATE users SET energy=(energy + 1) WHERE id='".$id."'";
$res = mysql_query($sql);
}
?>
这是我的服务器上运行cronjob的命令行:
/home/sites/psychowars.com/public_html/psychowars/cronjobs/energy.php
好吧,当我手动转到 psychowars.com/psychowars/cronjobs/energy.php 链接时,它会给我一个能量,因为我的能量低于$max_energy
,但是实际的cronjob应该每2分钟为用户提供一次能量,但它没有做任何事情。他们有什么理由吗?
答案 0 :(得分:2)
cronjob只能执行可执行文件。因此,您必须使用php
可执行文件运行脚本。这样的东西可能在您的crontab中起作用:
/usr/bin/php -q /home/sites/psychowars.com/public_html/psychowars/cronjobs/energy.php
答案 1 :(得分:1)
在我的Cronjobs随机停止运行之前,我遇到了这个问题;
只需运行以下命令:
/etc/init.d/cron restart
当我运行此命令时,我的cronjobs再次开始运行
你应该运行你的cron
/etc/crontab
和我的cronjobs的一个示例行(每天每分钟运行)
* * * * * root /usr/bin/php /var/www/cron.php
*
代表时间
root
- 代表用户
/usr/bin/php
是我从
/var/www/cron.php
- 将在PHP-CLI中执行的php文件
另外,确保安装了php5-cli
以确保PHP可以从PHP命令行运行。