Phpban hogy tudok x idő múlva végrehajtani valamit? (bővebben lent)
Szóval láttam ezt a Travián játékot, ilyen városépítős, harcolós játék. Hogy tudom azt megcsinálni, ha mondjuk elkezdek fejleszteni egy épület, hogy az 6 óra múlva kész legyen, és 6 óra múlva mondjuk frissíti az adatbázist?
Kész kódot nem szeretnék, mert én szeretném megírni, csak útmutatást, hogy minek nézzek utánna :)
Előre is köszi





Időzített futtatással.
Linux: Cron
Windows: Feladatütemező (Task Scheduler)





Nem, ez független a php-tól, ez operációs rendszer szintű beállítás, ezért rendszergazdai jogosultság kell hozz.
De a legtöbb tárhelyszolgáltatónál azért ez meg van oldva és be lehet állítani a tárhely adminisztrációs felületén is.





Ha van rendszergazdai jogosultsága a php-t futtatót felhasználónak, akkor igen, de azért ez elég veszélyes megoldás.
Ha arra a célra kell, amit írsz, akkor felesleges minden ilyet berakni az operációs rendszer szintjén.
Adatbázisban jelölöd az építkezést a kezdetekor, pl.: A felhasználó B időpontban C építésébe kezdett és D időben végez. Aztán csak egy futást állítasz be, ami percenként fut, ebben lekéred az adatbázisból, hogy van-e olyan, ami már befejeződött: D <= aktuális időpont. Ha van ilyen, akkor elvégzi a feladatot.





Ha fontos, hogy időben felépüljön, akkor kell az időzítés. Js/ajax-al nem tudod időzíteni.
De ha másra nincs hatással, akkor elég akkor felépíteni, ha a felhasználó bent van az oldalon, elég mindent akkor csinálni, amikor a játékos online.
Pl. ha elindít egy építkezést, ami 6 óráig tart, akkor ha a felhasználó kilép és mondjuk csak 2 hét múlva tér vissza, akkor ha nincs másra hatással az építés, akkor ráér ekkor felépíteni, amikor belépett.
De ha a fenntartása pénzbe kerül, megtámadhatják vagy egy földrengés kárt tehet benne, akkor ez a megoldás nem jó, ekkor fontos, hogy ezeknél az eseményeknél már látható legyen, hogy fel van építve.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!