![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 31.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam skrypt, który pobiera stronę internetową cURLem i odpowiednio ją mieli. Skrypt uruchamiany jest codziennie kilkadziesiąt razy. Zazwyczaj zużycie waha się od 1kb do 10mb. W ciągu ostatniego pół roku miałem dwie sytuacje że raz zużycie było 2GB a wczoraj 5GB. Kod xxx.xxx.xxx.222 - - [15/Jan/2015:12:25:01 +0100] "GET /ebok/ebok.php HTTP/1.1" 200 5341205253 "-" "Wget/1.13.4 (linux-gnu)" Szczerze mówiąc nie ma tam żadnych pętli które mogłby by być nieskończone czy niewiadomo jakich obliczeń, dlatego sam nie wiem czemu wyszło aż 5GB. Czy mogę się w jakiś sposób zabezpieczyć przed pożarciem mi całego limitu transferu? Ustawić jakoś w skrypcie, php.ini czy gdzieś by po przekroczeniu rozmiaru żużycia danych np 100MB przerywało działanie skryptu? PS. Podejrzewam, (chociaż nie wiem czy to możliwe by uzyskać 5GB) że takie zużycie mogło wyniknąć w testów, gdy zrobiłem 6 razy dla całego pobranego kodu HTML Kod print_r($dom) wykorzystując PHP Simple HTML DOM Parser print_r rzeczywiście wypisuje masę różnych rzeczy i strasznie długo to trwa. Ale dobrzeby było wiedzieć jak przerwać takie wykonywanie skryptu. Ten post edytował Rozpalacz 16.01.2015, 21:19:47 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 31.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pyton_000, zrobiłem tak jak pisałeś z ini_set('memory_limit', '1M');
sytuacja wygląda tak że dostaję komunikat: Kod Fatal error: Allowed memory size of 1048576 bytes exhausted (tried to allocate 72 bytes) in /home/public_html/bench.php on line 5 gdzie w logu Apache samo wykonanie skryptu (bez linijki z ini_set) pożera jakieś 10KB Kod xxx.xxx.xxx.134 - - [16/Jan/2015:23:25:50 +0100] "GET /bench.php HTTP/1.1" 200 11146 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" Teoretycznie powinno się wykonać. Czemu tak się dzieje, czy zużycie transferu Apache a memory_limit to dwie różne rzeczy i nie mają ze sobą nic wspólnego? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 12:09 |