Plik konfiguracyjny PHP – php.ini – pozwala dostosować ustawienia PHP do własnych potrzeb. Wystarczy zamieścić w nim odpowiednie dyrektywy i umieścić go w dowolnym katalogu na serwerze. Dowiedz się więcej o tym, jak go używać i poznaj popularne dyrektywy, które mogą Ci się przydać.
SPIS TREŚCI
Co to jest php.ini?
php.ini to plik konfiguracyjny PHP, w którym umieszcza się dyrektywy definiujące ustawienia PHP na całym serwerze lub w danym katalogu. Dzięki temu możesz modyfikować środowisko PHP, tak by odpowiadało Twoim potrzebom – domyślne ustawienia nie zawsze będą dla Ciebie najlepsze.
By utworzyć plik php.ini wystarczy utworzyć plik tekstowy, umieścić w nim pożądane dyrektywy, a następnie wgrać plik na serwer FTP w wybranym katalogu. Po umieszczeniu pliku na serwerze, dyrektywy zaczną działać. Jeśli w przyszłości konieczna będzie zmiana zawartości pliku php.ini, wystarczy edytować istniejący – nie trzeba tworzyć nowego.
Dlaczego warto korzystać z pliku php.ini?
Plik php.ini to jedna z możliwości zmiany ustawień PHP i choć na początku może wydawać się bardziej skomplikowana, ma jednak pewną przewagę nad alternatywami. Pozwala bowiem:
- nie zaśmiecać pamięci stałymi,
- grupować dane w sekcje,
- definiować ustawienia PHP tylko dla wybranej domeny (katalogu) lub dla całego serwera.
Jak tworzyć dyrektywy w pliku php.ini?
Składnia dyrektyw konfiguracyjnych w pliku php.ini to:
dyrektywa = wartość
Wartości włączające dyrektywę to „1” lub „on”. Z kolei wartości wyłączające dyrektywę to „0” lub „off”.
asp_tags = 1
asp_tags = on
Oba zapisy ustawiają wskazaną dyrektywę jako włączoną.
Tworząc plik php.ini pamiętaj, że w nazwach dyrektyw są rozróżniane wielkości liter. Ignorowane są natomiast linie poprzedzone średnikiem oraz tzw. „puste znaki” (np. spacja).
Jak używać pliku php.ini?
php.ini możesz utworzyć w pliku tekstowym (np. w Notatniku w Windows). Gdy będzie gotowy, zapisz go pod nazwą php z rozszerzeniem ini, a następnie umieść w odpowiednim miejscu na serwerze:
- domena jest przekierowana do podkatalogu – umieść plik php.ini właśnie w tym katalogu,
- domena jest skierowana na katalog główny serwera „/” – umieść plik php.ini w katalogu głównym.
Popularne dyrektywy PHP – przykłady
Dyrektywa | Domyślna wartość | Zastosowanie |
---|---|---|
asp_tags | Off | Umożliwia użycie tagów w języku ASP: <% %> zamiast w PHP: <?php ?>. |
display_errors | On | Decyduje o wyświetlaniu błędów użytkownikom lub ukrywaniu ich. |
error_log | no value | Określa, gdzie będą zapisywane logi. Należy podać ścieżkę od katalogu ROOT do pliku z logami np. „/logs/php_errors.log”. |
error_reporting | Off | Decyduje, jaki rodzaj błędów będzie logowany:
Stosowane kombinacje: |
include_path | .:/:/usr/local/php/pear5 | Wskazuje gdzie funkcje require(), include(), fopen(), file(), readfile() and file_get_contents() mają szukać plików. |
log_errors | Off | Ustala, czy błędy będą logowane (dotyczy wyłącznie logowania w zakresie Klienta, logi systemowe gromadzone są przez AZ.pl w ramach fizycznego serwera). |
magic_quotes_gpc | On | W przeszłości wykorzystywane głównie do zabezpieczenia przed SQL Injection. |
memory_limit | 128M | Określa limit pamięci dla wykonywanych skryptów na serwerze. Domyślnie ustawiona wartość to 128M. Sprawdź: Parametry bezpieczeństwa serwerów AZ.pl. |
post_max_size | 64M | Wielkość danych przesyłanych metodą POST. |
register_globals | Off | Zmienne globalne odpowiadają za możliwość korzystania m.in. ze zmiennych przesyłanych do serwera. |
safe_mode | Off | Włączenie safe_mode wprowadza w życie wszystkie podległe safe_mode zmienne. |
safe_mode_exec_dir | /usr/local/php/bin | Funkcje system() i exec() nie uruchomią programu, jeżeli nie znajduje się we wskazanej lokalizacji. |
safe_mode_gid | Off | safe_mode domyślnie sprawdza UID użytkownika, ustawienie na ON sprawia ze sprawdzany będzie GID. |
short_open_tag | On | Zezwala na stosowanie krótszego tagu <? ?>. |
upload_max_filesize | 64M | Wartość musi być mniejsza lub równa wartości „post_max_size”. |
max_input_vars | 2000 | Liczba zmiennych, którą można przekazać w żądaniu HTTP. |
session.cookie_domain | no value |
Pod jaką domeną będzie obsługiwana sesja. Możliwe wartości:
Dla obsługi sesji spod wielu subdomen:
|
session.save_path | /tmp | Katalog, w którym będą przechowywane pliki sesji. |
Przykładowa zawartość pliku php.ini
error_log = /logs/errors.log error_reporting = E_STRICT log_errors = on display_errors = 0