![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 1 Dołączył: 7.05.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam następujący problem: chcę wyświetlić trochę rekordów z bazy i teraz tak: jeżeli wyświetlam do 2000 rekordów to wszystko jest OK. Jeżeli chcę wyświetlić > 2000 rekordów, wyskakuje komunikat: Kod <h1>Internal Server Error</h1> The server encountered an internal error or misconfiguration and was unable to complete your request Znacie może jakiś sposób na obejście tego? Próbowałem zwiększyć 'max_execution_time', ale niestety efekt został ten sam. Od razu mówię że wolałbym uniknąć porcjowania zapytań i chciałbym wyświetlić wszystkie rekordy na jednej stronie. Ten post edytował progresmedia 23.08.2009, 14:22:27 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
W pierwszym poście napisał, że nie chce porcjować zapytania, więc stronnicowanie raczej odpada. Ja bym się zastanawiał nad ustawianiem jednak set_time_limit co jakiś określony czas ( co ileś iteracji ) wewnątrz pętli. Teoretycznie powinno to resetować licznik działania skryptu. Stwarza też narzut czasowy niestety. Z każdą iteracją bowiem byłby if i inkrementacja jakiegoś licznika, czyli minimum 2 dodatkowe cykle zegara co przejście pętli. Mało w porównaniu do całości czasu trwania skryptu, więc można się skusić i sprawdzić. Choć myślę, że jednak bez jakiegoś sensownego ograniczenia liczby rekordów nie ma co tego ruszać, bo obejście max_execution_time bez porcjowania, choćby niejawnego nie jest możliwe. Ja w newsletterze dla dużej liczby użytkowników zrobiłem rekurencję gdzie skrypt wywoływał sam siebie po pewnym czasie, ale tego typu rozwiązanie jest bezsensowne tutaj.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 03:43 |