Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak przerwać działanie nieskończonej pętli (po wywołaniu))
Forum PHP.pl > Forum > PHP
sebax3x
Jak w temacie, najprostszym rozwiązaniem wydawałby się restart serwera - niestety nie mogę tego zrobić, serwer nie ma ustawionego limitu czasowego na wykonanie skryptu.
Czy istnieje jakaś zewnętrza możliwość zatrzymania takiego skryptu z poziomu php?
phpion
Zabicie procesu. Jeśli jednak i tego nie możesz zrobić to można doprowadzić skrypt do wysypania się. Jeśli operuje na bazie danych można np. doprowadzić do duplikacji klucza głównego, jeśli robi coś na pliku można usunąć plik lub zmienić mu uprawnienia. Bez wiedzy na temat zapętlonego skryptu nie można za bardzo nic więcej powiedzieć.
thek
Jak wspomniał phpion -> najlepiej doprowadzić do sytuacji anormalnej skryptu, co spowoduje błąd i zatrzymanie się skryptu. Jeśli masz dostęp do serwera i jest to jeden skrypt to sprawa z głowy. Zależnie od systemu wrzucasz w konsolę tasklist (windows) lub top (linux) i sprawdzasz pid (process ID) a potem taskkill lub kill (znów zależnie od systemu). Jeśli skrypt jest rekurencyjny i wywołuje sam siebie to będziesz musiał kombinować z killowaniem grupy procesów po masce nazwy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.