Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> nieskończony skrypt
pazmat
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.04.2011

Ostrzeżenie: (0%)
-----


Dzieńdobry

Mam taki kod php.

  1. <?php
  2.  
  3.  
  4. do {
  5. $i = 2;
  6. echo 'Skrypt działa '.$i.' s<br>';
  7. sleep(2);
  8.  
  9. $i = $i + 2;
  10. } while ( !is_file('jol') );
  11.  
  12. ?>


głównym jego zadanie jest działanie w nieskończoność, jednak po około minucie wywala taki error:

  1. Internal Server Error
  2.  
  3. The server encountered an internal error or misconfiguration and was unable to complete your request


Czy da radę to jakoś ominąć z poziomu php?

Ten post edytował pazmat 11.04.2011, 18:50:39
Go to the top of the page
+Quote Post
modern-web
post
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Skasuj .htaccess z folderu z skryptem (o ile istnieje). Zazwyczaj to wina konfiguracji serwera.
Go to the top of the page
+Quote Post
pazmat
post
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.04.2011

Ostrzeżenie: (0%)
-----


Nie ma żadnego .htaccess w folderze
Go to the top of the page
+Quote Post
thek
post
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Tak, da. Ale nie poprzez konfiguracje serwera. To co napotkaleś to klasyczny sposób by nie dopuszczać do sytuacji, gdy user odpali sobie skrypt, który ma działać "na wieki". Bo takich jak Ty jest wielu a zasoby serwerów nie są z gumy. Zarżnęlibyście serwer od razu. tak więc od tej strony nie ma szans. Można jednak to zrobić, ale wymaga to podzielenia skryptu na interwały czasowe. W momencie gdy skrypt wyczuje iż "czas mu się kończy", kończy to co robi właśnie, zapisuje swój stan i wywołuje sam siebie. Dzięki temu jest uznawany za nowe wywołanie skryptu i ma czas liczony znów od zera i może wznowić to co robił do tej pory.
Go to the top of the page
+Quote Post
sadistic_son
post
Post #5





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


No a da się jakoś zapisać np. wewnętrzny wskaźnik wykonującej się pętli, lub tablicy na której działamy? Tak aby rozpocząć potem od tego samego miejsca.
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




A czemu by nie? To "tylko" proste dane. Co do wskaźnika miejsca w pliku to chyba umiemy go przesunąć? Nawet gotowe funkcje są (IMG:style_emoticons/default/smile.gif) A jakby nie to zawsze można zapamiętać numer wiersza chyba? Zaś w pętli zawsze można zmodyfikować for, by rozpoczynał z miejscem startowym innym niż 0... Kwestia przemyślenia logiki skryptu i uruchamiania go ze zmienionymi parametrami lub pobieraniem ich z określonej lokalizacji (modyfikowalny przez sam skrypt plik konfiguracyjny)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:13