Limity PHP - pamięć i czas wykonania

Rozwiązywanie błędów „memory exhausted” i „max execution time”

Limity PHP określają zasoby dostępne dla skryptów PHP. Jeśli Twoja strona wyświetla błędy związane z pamięcią lub czasem wykonania, możesz je zwiększyć.

Krok po kroku

  1. Błąd „Fatal error: Allowed memory size exhausted" - zwiększ memory_limit w php.ini
  2. Błąd „Maximum execution time exceeded" - zwiększ max_execution_time
  3. Błąd „Upload: File exceeds the upload_max_filesize" - zwiększ upload_max_filesize i post_max_size
  4. Zmiana limitów w DirectAdmin: „Domain Setup" → domena → „PHP Settings"
  5. Zmiana przez plik .user.ini w katalogu public_html:
  6. memory_limit = 512M
  7. max_execution_time = 600
  8. upload_max_filesize = 256M
  9. post_max_size = 256M
  10. Niektóre limity mogą być ograniczone przez pakiet hostingowy - skontaktuj się z nami w razie potrzeby

Skąd biorą się limity

Hosting współdzielony to wspólny serwer dla wielu kont. Limity pilnują, żeby jedna strona pod dużym obciążeniem nie zabrała zasobów pozostałym. Bez nich pojedynczy zapętlony skrypt potrafiłby zatrzymać cały serwer.

Dlatego limity nie są ograniczeniem wymyślonym na przekór, tylko warunkiem stabilności całej maszyny.

Kiedy hosting przestaje wystarczać

Jeśli strona regularnie dobija do limitów mimo optymalizacji, to zwykle sygnał, że przerosła hosting współdzielony. Typowe przypadki to sklep z kilkudziesięcioma tysiącami produktów albo aplikacja licząca coś w tle.

Wtedy właściwym krokiem jest serwer VPS z gwarantowanymi zasobami. Do tego czasu warto sprawdzić pamięć podręczną - dobrze skonfigurowany cache potrafi zredukować zużycie kilkukrotnie.

Najczęstsze pytania

Jak sprawdzić, czy zbliżam się do limitów?

W panelu hostingowym, w statystykach użycia zasobów. Widać tam zużycie procesora, pamięci i liczbę procesów w czasie.

Strona zwalnia o określonych porach.

Najczęściej odpowiadają za to zadania cykliczne - kopie zapasowe, indeksowanie, synchronizacje. Warto je rozsunąć w czasie i przenieść poza godziny największego ruchu.

Czy da się podnieść limity na hostingu?

Część parametrów PHP owszem, ale zasoby serwera są wspólne i tego się nie zwiększa. Jeżeli strona ich potrzebuje na stałe, właściwym rozwiązaniem jest VPS.

Zobacz również