![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 16.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jak skonfigurować php (plik php.ini/php.conf) lub apache (httpd.conf) aby po wykonaniu skryptu pamięć była zwalniana. Po zaallokowaniu dużej wielowymiarowej tablicy, zajmującej około 1MB i zakończeniu skryptu w menedżerze zadań Windows widzę, że ilośćz ajętej pamięci po zakończeniu skryptu zmniejszył się tylko nieznacznie, co gorsza, kolejne wywołania skryptu powodują tylko zwiększenie zajętego obszaru ... nie pomaga nawet wywolanie unset($tablica). Skrypt nie pozostaje zawieszony - kończy się.
Jeżeli nie da się tego zrobić w konfigu o jaką procedurą to wywołać. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Nic na to nie poradzisz. Sprawdź czy Twoja wersja Apache/PHP nie ma jakiegoś zgłoszonego błedu zarządzania pamięcią. Tablice są alokowane dynamicznie i dealokowane dynamicznie - tzn. PHP zwalnia pamięc gdy ma na to ochote a nie jak skrypt przestaje działać. Raczej nie jest to błąd Twoje skryptu bo PHP po to jest językiem dynamicznie typowanym, aby wycieki pamięci nie były problemem piszących w PHP a piszących PHP. Także poczekaj parę minut. Gdy zajęta pamięć zacznie być potrzbna inny proces na pewno ją dostanie (chociaż, na Windowsie to nie wiem jak z tym będzie...).
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 16.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Po około 400 wywołaniu skryptu otrzymałem tylko komunikat System ma za mało pamięci wirtualnej. CZy apache/2.0 oraz PHP/5.0 załatwią sprawę oraz czy są dostępne na windę.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Dostepne sa, ale czy rozwiaza problem?
-------------------- Nie lubię jednorożców.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 04:11 |