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