PHPはサーバーサイド言語です。誰でもサーバー上の PHP プログラムにアクセスすると、クライアントが誰であるかに関係なく実行されます。
ですから、カウンターを保持するプログラムを想像してください。これをデータベースに格納します。updatecounter.php が呼び出されるたびに、カウンターが 1 ずつ更新されます。
updatecounter.php を参照すると、カウンターが現在 34 になっていることがわかります。
次に updatecounter.php を参照すると、カウンターが 53 であることが示されます。
予想よりも 18 カウント増えました。
これは、updatecounter.php がユーザーの介入なしに実行されたためです。それは他の人によって運営されていました。
updatecounter.php を見ると、次のようなコードが表示されることがあります。
require_once("my_code.php);
$counterValue = increment_counter_value();
echo "New Counter Value = ".$counterValue;
プログラムの主要なコアは、呼び出しているプログラムとは別のプログラムに格納されていることに注意してください。
また、increment_counter_value を呼び出す代わりに、何でも呼び出すことができることに注意してください。したがって、誰かが updatecounter.php を参照するたびに、またはゲームの名前が何であれ、内部のゲーム メカニクスが実行される可能性があります。たとえば、過去 1 時間に実行された場合は呼び出されるたびにチェックし、実行されていない場合はすべての統計を実行する 1 時間ごとの統計管理ルーチンを作成できます。
では、誰もあなたのゲームをプレイしていない場合はどうでしょうか? その場合、時間ごとの統計管理が呼び出されず、ゲームの世界が死んでしまいます。したがって、統計を実行することだけが機能する別のプログラムを作成する必要があります。次に、そのプログラムをサーバー上で 1 時間間隔で実行するようにスケジュールします。これは、 CRONジョブと呼ばれるものを使用して行います。Apache を使用している場合、ホストには既にこの機能が組み込まれていることがわかるでしょう。タスクのスケジューリングについてこれ以上詳しく説明することはありません。環境を知らなければ正しい答えを出すことは不可能だからです。ただし、基本的には、PHP プログラムをサーバー上で実行して時間単位のメンテナンスを実行するようにスケジュールする必要があります。
CRON ジョブのチュートリアルは次のとおりです。
http://net.tutsplus.com/tutorials/other/scheduling-tasks-with-cron-jobs/
私自身は使用していませんが、tutsplus の他のものには問題がなかったので、問題ないはずです。