[php]serwer blokuje skrypt

[php]serwer blokuje skrypt
  • Rejestracja: dni
  • Ostatnio: dni
0

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 .

johny_bravo
  • Rejestracja: dni
  • Ostatnio: dni
0

Samego ograniczenia serwera, jesli to nie Twoj serwer, nie ominiesz, bo zrobione jest to dla bezpieczenstwa. Nie mozesz przerabiac plikow partiami?

id02009
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 650
0

johny_bravo, to nie takie oczywiste. Może spróbować z funkcją set_time_limit(), kto wie może nie jest zablokowana.

  • Rejestracja: dni
  • Ostatnio: dni
0

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' :)

Herk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 272
0

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.

Demonical Monk
  • Rejestracja: dni
  • Ostatnio: dni
0

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 - Ł

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.