Mam skrypt php, który działa przez około 2 godziny. To jest praca crona. Zadanie cron działa co 4 godziny.memory_limit: Jak to działa?
Na końcu skryptu wyświetlam niektóre wartości pamięci.
The memory_get_usage() result is 881568 Bytes (0.840766906738M)
The memory_get_peak_usage() result is 1340304 Bytes (1.27821350098M)
The memory_get_usage(true) result is 1572864 Bytes (1.5M)
The memory_get_peak_usage(true) result is 1835008 Bytes (1.75M)
Limit pamięci w php.ini wynosił 128M i nie zadziałał. Podnoszę go do 256M i teraz działa.
Ale jak szczyt pamięci skryptu jest mniejszy niż 2M ....
Więc jak działa parametr memory_limit?
Czy to całkowita pamięć używana przez skrypt? Jeśli tak, jak mogę to obliczyć?
Czy to szczyt pamięci scenariusza? jeśli tak, czy obliczam to poprawnie?
Używam php 5.3.16.
EDIT
nie mam żadnych komunikatów o błędach. Gdy limit wynosi 128M Skrypt wykonuje, ale nigdy się nie kończy.
co jeszcze działa na tym samym serwerze? –
Jeśli Twój skrypt uległ awarii z błędem limitu pamięci, w jaki sposób zobaczyłeś komunikaty dziennika? – galymzhan
@galymzhan Nie uległo awarii po zwiększeniu limitu do 256 MB, uległo awarii, gdy ustawiono na 128 MB. Jednak teraz jest ustawiony na 256 MB. Widać, że maksymalne wykorzystanie pamięci nie jest w pobliżu limitu 128 MB. Jego pytanie brzmi, dlaczego musiał zwiększyć limit, aby działało? – Lee