Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator php.ini

Bezpieczna konfiguracja PHP

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}

Maks. plik do wgrania

64 MB

Mniejsza z wartości: upload_max_filesize i post_max_size

memory_limit

256M

Dyrektywy

15

Linie

26

Rozmiar

461 B

php.ini

; php.ini — WebP.pl ; Zasoby memory_limit = 256M max_execution_time = 300 max_input_time = 300 max_input_vars = 5000 ; Przesyłanie plików upload_max_filesize = 64M post_max_size = 64M file_uploads = On ; Błędy display_errors = Off log_errors = On error_reporting = E_ALL ; Strefa czasowa date.timezone = Europe/Warsaw ; OPcache opcache.enable = 1 opcache.memory_consumption = 128 opcache.max_accelerated_files = 10000 opcache.validate_timestamps = 1
455 znaków · 61 słów · 27 linii

Po zmianie php.ini przeładuj PHP-FPM lub Apache, żeby ustawienia zaczęły działać.

Ściąga: dyrektywy z generatora
DyrektywaCo robiNa co uważać
memory_limit Maksymalna pamięć, jaką może zająć jeden skrypt PHP. -1 wyłącza limit; na produkcji lepiej wpisać konkretną wartość.
max_execution_time Maksymalny czas działania skryptu w sekundach. 0 oznacza brak limitu. Serwer WWW lub proxy mogą przerwać żądanie wcześniej.
max_input_time Czas na odebranie i przetworzenie danych wejściowych (POST, pliki). Generator ustawia tyle samo co max_execution_time, jeśli pole zostawisz puste.
max_input_vars Ile zmiennych (GET, POST, ciasteczka) PHP przyjmie w jednym żądaniu. Nadmiarowe zmienne są pomijane. Dotyczy dużych formularzy i menu w CMS.
upload_max_filesize Maksymalny rozmiar jednego wgrywanego pliku. Realny limit to mniejsza z wartości: upload_max_filesize i post_max_size.
post_max_size Maksymalny rozmiar całego żądania POST (wszystkie pola i pliki razem). Ma być ≥ upload_max_filesize. 0 wyłącza limit.
display_errors Pokazuje błędy PHP w odpowiedzi strony. Na produkcji Off; błędy zapisuj do logu (log_errors).
date.timezone Domyślna strefa czasowa funkcji daty i czasu. Nazwa w formacie Kraj/Miasto, np. Europe/Warsaw.
opcache.* Pamięć podręczna skompilowanego kodu PHP. Przy validate_timestamps = 0 trzeba czyścić OPcache po każdym wdrożeniu.

Jak liczymy limit wgrywania

Plik przejdzie, jeśli mieści się w obu limitach naraz. Dla Twoich ustawień: upload_max_filesize = 64M, post_max_size = 64M, czyli największy pojedynczy plik to 64 MB. Żądanie POST zawiera też inne pola formularza, więc zostaw trochę zapasu.

Gdzie wkleić ustawienia

Wskaż aktywny plik poleceniem php --ini albo przez phpinfo(). Na hostingu współdzielonym ustawienia często wpisuje się do .user.ini lub panelu. Dyrektywy opcache.* zwykle działają tylko w głównym php.ini.

Serwer WWW ma własny limit

Samo podniesienie upload_max_filesize bywa za mało: Nginx ma client_max_body_size, a Apache LimitRequestBody. Jeśli upload nadal się nie udaje, sprawdź też te ustawienia.

Typowe pułapki

post_max_size mniejsze od upload_max_filesize blokuje duże pliki bez czytelnego błędu. Wpisuj rozmiary z jednostką (64M, 1G), a nie w bajtach. Po edycji pliku przeładuj PHP-FPM lub Apache.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator php.ini

Plik php.ini steruje działaniem środowiska PHP. Odpowiednie limity pamięci, czasu wykonania i uploadu są niezbędne dla stabilnej pracy aplikacji.

Najważniejsze ustawienia

OpcjaZnaczenie
memory_limitmaksymalna pamięć na skrypt
upload_max_filesizemaksymalny rozmiar pojedynczego pliku
post_max_sizemaksymalny rozmiar całego żądania POST
max_execution_timemaksymalny czas wykonania skryptu
max_input_varslimit liczby pól formularza

Wzajemne zależności

post_max_size musi być większe lub równe upload_max_filesize. Inaczej duże pliki zostaną odrzucone mimo podniesionego limitu uploadu. Pamięć (memory_limit) powinna być większa niż rozmiar przetwarzanego pliku.

Bezpieczeństwo

  • display_errors wyłącz na produkcji — komunikaty ujawniają ścieżki i konfigurację.
  • Ustaw log_errors = On i przeglądaj logi.
  • Nie ustawiaj absurdalnie wysokich limitów bez potrzeby.

Jak generator składa plik php.ini

Generator pobiera wartości wpisane w formularzu i zapisuje je jako pary dyrektywa = wartość, czyli dokładnie w formacie, jaki PHP czyta przy starcie procesu. Każda linia to jedna dyrektywa, a linie rozpoczynające się od średnika są komentarzami i PHP je pomija. Gotowy wynik wklejasz do pliku php.ini albo traktujesz jako listę wartości do wpisania w panelu hostingu.

Rozmiary w php.ini podaje się w notacji skróconej: liczba plus sufiks K, M lub G, gdzie 1K to 1024 bajty, a 1M to 1024K. Liczba bez sufiksu oznacza bajty, więc wpisanie samego „64” da limit 64 bajtów, a nie 64 megabajty — to najczęstsza pomyłka przy ręcznej edycji. Narzędzie pilnuje spójności formatu i sygnalizuje, gdy zależność między limitami jest niespełniona.

Drugi element mechanizmu to kolejność i nadpisywanie. PHP czyta najpierw główny plik konfiguracyjny, a potem pliki z katalogu wskazanego przez dyrektywę scan (typowo katalog dodatkowy). Jeśli ta sama dyrektywa pojawi się dwa razy, wygrywa ostatnie wystąpienie. Wygenerowany wpis zadziała więc tylko wtedy, gdy nie kłóci się z innym plikiem konfiguracyjnym obecnym na serwerze.

Przykład krok po kroku: wgrywanie plików do 128 MB

  1. Cel: chcesz przyjmować pliki o rozmiarze do 128 MB. W polu upload_max_filesize wpisujesz 128M.
  2. W polu post_max_size wpisujesz 132M, czyli wartość większą od limitu pojedynczego pliku. Żądanie POST to nie tylko sam plik — dochodzą nagłówki, granice multipart i pozostałe pola formularza.
  3. W polu memory_limit wpisujesz 256M. Skrypt, który wczytuje plik do pamięci, potrzebuje jej wyraźnie więcej niż sam plik zajmuje na dysku, bo dochodzą struktury tymczasowe i kopie danych.
  4. Ustawiasz max_execution_time na 300 (sekundy). Wgranie pliku przez wolne łącze i jego obróbka nie zmieszczą się w krótkim domyślnym czasie.
  5. Ustawiasz max_input_vars na 3000, jeśli formularz ma wiele pól. Przekroczenie tego limitu obcina dane wejściowe bez czytelnego komunikatu o błędzie.
  6. Na produkcji ustawiasz display_errors = Off oraz log_errors = On, kopiujesz wygenerowaną treść do pliku konfiguracyjnego i restartujesz PHP-FPM wraz z serwerem HTTP. Efekt sprawdzasz testowym wgraniem pliku o rozmiarze bliskim 128 MB.

Tabela referencyjna dyrektyw

DyrektywaJednostka i formatRola oraz powiązania
memory_limitrozmiar (K, M, G)Górny limit pamięci na jeden skrypt. Powinien być wyraźnie większy niż rozmiar pliku przetwarzanego w całości w pamięci.
upload_max_filesizerozmiar (K, M, G)Limit pojedynczego pliku w żądaniu. Musi być mniejszy lub równy post_max_size.
post_max_sizerozmiar (K, M, G)Limit całego żądania POST: pliki, pola formularza i narzut multipart razem. Nie może być mniejszy niż upload_max_filesize.
max_execution_timesekundy (liczba całkowita)Czas działania skryptu po stronie PHP. Nie obejmuje oczekiwania na dane przychodzące od klienta.
max_input_timesekundy (liczba całkowita)Czas na odczyt danych wejściowych. Działa równolegle z max_execution_time i razem z nim decyduje o przyjęciu dużego pliku.
max_input_varsliczba całkowitaLimit liczby pól w jednym żądaniu. Przekroczenie powoduje ciche obcięcie danych, bez błędu po stronie użytkownika.
max_file_uploadsliczba całkowitaIle plików może znaleźć się w jednym żądaniu — niezależnie od ich łącznego rozmiaru.
display_errors / log_errorsOn lub OffSterują ujawnianiem i zapisem komunikatów. Na produkcji odpowiednio Off oraz On.

Praktyczne wskazówki

  • Podnoś limity parami. Zmiana upload_max_filesize bez podniesienia post_max_size nie da efektu — duże żądania zostaną odrzucone jeszcze przed zapisem pliku.
  • Ustawiaj wartości osobno dla środowisk. Na komputerze deweloperskim wysokie limity skracają debugowanie, na produkcji warto trzymać je jak najniżej, ale powyżej realnych potrzeb aplikacji.
  • Zostaw margines na narzut. post_max_size ustawiaj nieco powyżej planowanego rozmiaru pliku, bo żądanie zawiera też pola formularza i granice multipart.
  • Sprawdź efekt po wdrożeniu. Po restarcie usług potwierdź wartości testowym wgraniem pliku i odczytem konfiguracji, zamiast zakładać, że plik został wczytany.
  • Nie kopiuj cudzych konfiguracji. Wysokie limity przeniesione z innego projektu obciążają serwer i częściej prowadzą do wyczerpania zasobów niż do rozwiązania problemu.

Czego narzędzie nie uwzględnia

  • Limitów serwera HTTP i pośredników. Jeśli serwer frontendowy, proxy albo zapora mają własny limit rozmiaru żądania, podniesienie wartości w php.ini nic nie da — plik zostanie odrzucony wcześniej.
  • Wersji PHP i różnic między nimi. Część dyrektyw zmieniała znaczenie lub domyślne wartości między wersjami, a generator nie wie, na jakiej wersji uruchomisz wynik.
  • Realnych ograniczeń pamięci maszyny. Wysoki memory_limit nie tworzy pamięci — jeśli procesów jest wiele, suma limitów może przekroczyć dostępne zasoby i skończyć się zabiciem procesu.
  • Polityki hostingu. Na hostingu współdzielonym część ustawień jest blokowana po stronie panelu, a inne pliki konfiguracyjne mogą nadpisywać wygenerowane wartości bez ostrzeżenia.

Najczęstsze pytania

Gdzie znajduje się php.ini?

Lokalizację zdradzi php --ini lub funkcja phpinfo(). Często to /etc/php/8.x/fpm/php.ini.

Co to OPcache?

Bufor kodu PHP skracający czas wykonania. Znacznie przyspiesza aplikację, ale wymaga unieważniania cache przy wdrożeniach.

Jak wpłynąć na limity bez dostępu do php.ini?

Użyj pliku .user.ini lub dyrektyw php_value w .htaccess (dla mod_php).

Czy post_max_size musi być większe od upload_max_filesize?

Tak, powinno być większe lub co najmniej równe. post_max_size obejmuje całe żądanie POST, a upload_max_filesize tylko pojedynczy plik, więc przy równej wartości brakuje miejsca na resztę danych i duży upload zostanie odrzucony.

Dlaczego plik nie wgrywa się mimo podniesienia limitów w php.ini?

Najczęstsze przyczyny to limit rozmiaru żądania na serwerze frontendowym lub proxy, drugi plik konfiguracyjny nadpisujący twoje ustawienia albo brak restartu usługi obsługującej PHP. Warto też sprawdzić limit długości czasu odczytu danych wejściowych.

Czy zmiana php.ini wymaga restartu serwera?

Zmiany w pliku konfiguracyjnym nie działają na już uruchomionych procesach, dlatego trzeba przeładować usługę przetwarzającą PHP — zwykle PHP-FPM — oraz serwer HTTP. Dopiero nowe procesy odczytają nowe wartości.

Czy memory_limit powinien być większy niż rozmiar wgrywanego pliku?

Tak. Jeśli skrypt wczytuje plik do pamięci, obok samych danych powstają kopie i struktury tymczasowe, więc limit pamięci musi mieć zapas. Wartość równa rozmiarowi pliku to za mało i skończy się błędem braku pamięci.

Czy generator obsługuje wszystkie wersje PHP?

Generuje pary dyrektywa = wartość, a większość omawianych ustawień istnieje w PHP od lat. Niektóre dyrektywy zmieniły jednak znaczenie lub zostały wycofane, więc przed wdrożeniem warto potwierdzić ich działanie na docelowej wersji PHP.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!