-1

phpMyAdmin(mySQL)中发生的非常奇怪的事情......

情况:
我有一张表,其中只有一个字段包含一个名为“count”的 INT 值。count 最初设置为 0。cron 作业每小时调用一个 php 脚本,该脚本将 'count' 增加 1 (SET count = count + 1)

问题
当我在 phpMyAdmin 中打开表格时可以观察到问题,然后立即刷新浏览器:我可以看到“计数”在一秒钟内增加了 20 倍。让它静置一分钟,然后再次刷新浏览器表明它已经增加了数百次!某处是否有无限循环调用我的 cron 工作并增加“计数”?(不要这么认为,因为我更新了 crob php 脚本,以便在它被调用时向我发送电子邮件,而且我没有接到任何电话......)

有没有人发生过这样的事情?

CRON 字符串:

*/15 * * * * /usr/bin/php -q /home/account_name/cron/cron.php test

php脚本:

<?php

class TestCommand extends CConsoleCommand {
    private $connection;

    public function run($args) {
        // Increment counter
        $this->connection=Yii::app()->db;
        $sql="UPDATE count_converts SET count=count+1 WHERE id=1";
        $command=$this->connection->createCommand($sql);
        $command->execute();
    }
 }

?>

更新:
谜团已解决:发现这是由于在其他地方嵌套了错误的 for 循环(两个循环都使用了 $i)...

4

1 回答 1

0

为什么在你的 cron 字符串中有一个 <br /> 和一个换行符?将其更改为

*/15 * * * * /usr/bin/php -q /home/account_name/cron/cron.php 测试

于 2011-09-12T21:11:34.773 回答