-1

max_energyユーザーのエネルギーが次のように少ない場合、ユーザーに1つのエネルギーを与えるPHPファイルがあります。

<?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にアクセスすると、私のエネルギーが よりも少ないため、1つのエネルギーが与えられます$max_energyが、実際のcronjobはユーザーに2分ごとに1つのエネルギーを与える必要がありますが、何もしていません。彼らの理由は何ですか?

4

2 に答える 2

2

cronjob は実行可能ファイルのみを実行できます。したがって、実行可能ファイルでスクリプトを実行する必要がありphpます。次のようなものが crontab で機能する可能性があります。

/usr/bin/php -q /home/sites/psychowars.com/public_html/psychowars/cronjobs/energy.php
于 2012-12-15T17:39:46.470 に答える
1

Cronjobs がランダムに実行を停止する前に、この問題に遭遇しました。

次のコマンドを実行するだけです。

/etc/init.d/cron restart

このコマンドを実行すると、cronjobs が再び実行を開始しました

cronを実行する必要があります /etc/crontab

および私のcronjobsの例の行(毎日毎分実行するため)

* * * * * root /usr/bin/php /var/www/cron.php*時間を表す

root- ユーザーを表します

/usr/bin/phpPHPを実行するディレクトリです

/var/www/cron.php- PHP-CLI で実行される php ファイルは

もう 1 つはphp5-cli、PHP コマンド ラインから PHP を実行できるように、インストール済みであることを確認してください。

于 2012-12-15T17:59:24.600 に答える