ini_set

funkcja

Ustawia wartość dyrektywy php.ini w czasie działania skryptu. Zmiana obowiązuje tylko dla bieżącego żądania.

ini_set(string $option, string|int|float|bool|null $value): string|false

ini_set pozwala zmieniać ustawienia PHP z poziomu kodu, bez edycji pliku php.ini. Zmiana działa wyłącznie w bieżącym żądaniu — po jego zakończeniu wartość wraca do domyślnej. Zwraca poprzednią wartość dyrektywy lub false przy błędzie.

Nie wszystkie dyrektywy można zmieniać z poziomu skryptu — niektóre (np. memory_limit) wymagają php.ini lub .htaccess. Sprawdź kolumnę „Changeable" w dokumentacji PHP.

Najczęściej używana razem z error_reporting() do konfiguracji środowiska developerskiego.

<?php
declare(strict_types=1);

// Włącz wyświetlanie błędów (tylko na dev!):
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);

// Zwiększ limit czasu wykonania dla długich operacji:
ini_set('max_execution_time', '120');

// Ustawienie strefy czasowej:
ini_set('date.timezone', 'Europe/Warsaw');
// lub krócej:
date_default_timezone_set('Europe/Warsaw');

// Sprawdź poprzednią wartość:
$poprzednia = ini_set('display_errors', '0');
echo $poprzednia; // wartość sprzed zmiany
📘 Naucz się w lekcji →