-1

phpMyAdmin (mySQL) で非常に奇妙なことが起こっています...

状況:
「count」という INT 値を保持するフィールドが 1 つしかないテーブルがあります。count はもともと 0 に設定されていました。cron ジョブは 1 時間ごとに 'count' をインクリメントする php スクリプトを呼び出します(SET count = count + 1)

問題:
phpMyAdmin でテーブルを開き、すぐにブラウザを更新すると、問題が発生することがあります。1 分間放置してからブラウザを再度更新すると、さらに数百回インクリメントされていることがわかります。私の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/アカウント名/cron/cron.php テスト

于 2011-09-12T21:11:34.773 に答える