2013-04-02 13 views
5

Obecnie mam problem z GoDaddy i jego hostingiem. Maksymalna dozwolona ilość czasu na uruchomienie skryptu PHP wynosi 120 sekund = 2 minuty.PHP Odśwież Strona

Czasami po uruchomieniu skryptu potrzeba więcej niż 120 sekund, a czasami zajmuje to 30 sekund.

Po upływie 120 sekund otrzymuję numer Internal Server Error (500).

Mam pytanie, czy możliwe jest ustalenie, czy czas wykonania skryptu wynosi 110 sekund, a następnie odświeżenie strony, aby nie wystąpił błąd serwera wewnętrznego.

+1

Nie możesz użyć 'set_time_limit()'? – kero

+0

Możesz być w stanie zrobić coś z 'microtime();' ale jeśli chodzi o odświeżenie, nie mam pojęcia. – lemondrop

+0

@kingkero, który ustawiłby limit czasu. Muszę wiedzieć, czy limit czasu został osiągnięty, a jeśli tak, muszę odświeżyć stronę. –

Odpowiedz

2

Jeśli to, co powoduje długi czas działania twojego skryptu, jest pewnego rodzaju niezależną funkcją blokującą (taką jak zapytanie o bazę danych), to znaczy, że jesteś trochę skrępowany.

Jeśli nie, powiedz, że jesteś w bardzo dużej pętli, po prostu zrób sobie matematykę.

Na samym początku skryptu, zapisać aktualny czas: $t_start = time();

Następnie w górnej części pętli zrobić $runtime = time() - $t_start; to masz jak długo zostały uruchomione i można używać, aby złamać zapętlaj się z wdziękiem, jeśli zbliżasz się do limitu 120.