2017-05-10 24 views
0

私はテキストベースのMMORPGを共同作成しました。 私はPHPとMySQLについてかなり新しいですが、私は非常に早い学習者です。PHPでのmysqlデータベースのバックグラウンド更新

私は最近、自分の経験レベルではかなり良い仮想株式市場のスクリプトを作成しました。

残念ながら、価格はメインメニューの更新によって更新されます。 これは、スクリプトを実行するのに少なくとも1人の人がオンラインである場合にのみ実行できます。

バックグラウンドで15分ごとにスクリプトを実行する必要があるため、誰もオンラインになっていない状態で価格を更新します。

if($stockupdate < time()){  
// this is where my updating pricing algorithm is 
} 
$timeadd = 900; 
    $addtime = time() + $timeadd; 
    mysql_query("UPDATE `stock` SET `nextupdate`='$addtime'"); 

} 
} 

ユーザーがオンラインになることなく自動的に15分ごとにデータベースを実行して更新するために価格アルゴリズムが必要です。

+1

UnixまたはWindowsの場合は? Unix = CRON Job Windows = Task Schedulerを開いて、PHP CLIスクリプトとして更新を書きます。 – RiggsFolly

+0

クローンジョブを検索します – gaganshera

+0

私は高度なものは持っていません。 私は1and1をFTPアクセスで使用します – Searle

答えて

0

ただ、コマンドラインに入るタイプcrontab -eし、適切なパスとスクリプト名に置き換え

0,15,30,45 * * * * /path/to/php /path/to/script.php 

行を追加します。新しいcrontabを保存するには、:wqと入力してください。

+0

私はコマンドラインを使ったことがありません(これは1and1でSSHですか?) だから私は正しいですが、毎時0,15,30,45でスクリプトを実行していますか? – Searle

+0

もちろん、問題のマシンにsshを実行すると、コマンドラインが表示されます。そして、はい、1時間ごとに0,15,30、および45分後に1時間ごとに実行されます。 – wogsland

+0

さて、スクリプトへのパスは、データベースを更新する実際のスクリプトへのパスになります。 PHPへのパスはどういう意味ですか? – Searle

関連する問題