witam
serwer po pewnym czasie dzialania skryptu blokuje mi g. To chyba po jakis 30 sekundach, jak mozna ten problem ominac? Skrypt operuje na plikach graficznych i je przemienia stad przy duzej liczbie fotek troche czasu sie wykonuje a nie chce zeby sie zawieszial .
Samego ograniczenia serwera, jesli to nie Twoj serwer, nie ominiesz, bo zrobione jest to dla bezpieczenstwa. Nie mozesz przerabiac plikow partiami?
johny_bravo, to nie takie oczywiste. Może spróbować z funkcją set_time_limit(), kto wie może nie jest zablokowana.
jeżeli nawet nie można zmienić czasu limitu za pomocą set_time_limit() na więcej niż 30, a można ją wywołać to dobrze jest to zrobić. wywołanie set_time_limit() resetuje wewnętrzny licznik czasu w php.
należy to też pamiętać o 'zwracaniu' czegoś do przeglądarki. Żeby przeglądarka nie dostała 'timeouta' :)
Najlepiej zrobić porcjowanie danych.
To jest, jeżeli na przykład skalujesz fotki na miniaturki, to wyświetlaj je na przykład po 10 sztuk. Potem link do kolejnych i tym samy do kolejnego ich przetwarzania.
Albo zrobić jeden wielki proces skalowania i zapisywać w $_GET numery aktualnie przetwarzanego zakresu fotek. Na przykład:
Najpierw jest: http://domena.pl/przetwarzaj.php?start=0&end=10
I przetwarza fotki o ID od 0 do 10. Potem redirect META albo HEADER tutaj:
http://domena.pl/przetwarzaj.php?start=11&end=20
Potem przetwarza foty od 11 do 20 i znowu dalej kieruje. W trakcie można dać taki prowizoryczny pasek postępu i nie będzie problemu z timeoutem.
// redirect meta jest blokowane przez większość przeglądarek - Ł