ugrás a tartalomhoz

PHP script automatikus leállás bizonyos idô eltelte után

Anonymus · 2007. Már. 12. (H), 11.41
Sziasztok

A helyzet a következô. A mellékelt script 5 perc után leáll és befejezôdik.

$fp=fopen("Running","a+");
fputs($fp,"Start\n");

for ($i=0;$i<100;$i++)
{
sleep(10);
fputs($fp,date ("i:s", time())."\n");
}
fclose($fp);

A parameterek:

max_execution_time = 0 (a teszt kedvééért), de a sleep() amugy se számít bele ebbe ha jól tudom.
max_input_time = 120

Mi lehet a probléma? Milyen beállítás nem jó?

A fenti példa természetesen egyszerûsített, a valódi problémában, a felhasználó által megadott paraméterekkel, ábrakészítés történik külsô scriptek meghívásával. (shell_exec, system). De az ábrákhoz tartozó adatok olvasása, az ábra elkészítése, stb elég sok idôt vesz igénybe és a script akkor is túllépi ezt a bûvös 5 perces határt majd elszáll, azaz újraindul.

köszönöm az segítéget
Anonymus
 
1

Apache

janoszen · 2007. Már. 12. (H), 11.44
Ha apache alól futtatod, akkor az hard módon kilövi, ha túllépsz egy bizonyos időt. Plusz még a böngészőnek is van egy timeoutja az oldallekérésre. Kisérletezd ki. Ha az utóbbi, akkor ignore_user_abort()-tal tudsz rajta segíteni, ha az előbbi, akkor apache configból. A hosszan futó scripteket egyébként is érdemes shellből vagy cronból futtatni.
2

Kösz

Anonymus · 2007. Már. 12. (H), 11.51
Köszönöm,sikerült. Én voltam a hüjjje hogy nem néztem körbe az Apache portáján. A php beállításokat végigböngésztem, de az Apache eszembe se jutott. Naná hogy a Timeout 300-ra volt állítva, így nem csoda hogy leállt.:)
Köszönöm a segítséget mégegyszer.