Zobrazuje se vám tato chyba „Není bezpečné spoléhat se na nastavení časového pásma systému ” (chyba nastavení časového pásma PHP) při provádění skriptu PHP? Nedávno jsem dostal tuto chybu po aktualizaci PHP na počítači CentOS. Níže je úplná chyba při mysqli_connect se nepodařilo připojit k databázi.
Warning: mysqli_connect(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /var/www/html/mysqli_connect.php on line 7
Zde je řešení výše uvedené chyby.
Jak opravit chybu nastavení časového pásma PHP
Počínaje verzí PHP 5.3 je třeba nastavit časové pásmo ve skriptu PHP pomocí date_default_timezone_set()
funkce před voláním date()
nebo jej nastavte globálně v php.ini
soubor.
Chcete-li nastavit požadované časové pásmo v php.ini
, postupujte podle níže uvedených kroků.
Krok 1: Upravte php.ini
# vim /etc/php.iniPoznámka:
Umístění PHP.ini se může na vašem počítači lišit.
Pokud nemáte oprávnění upravovat php.ini , pak jej můžete vytvořit v kořenovém adresáři dokumentu, jak je vysvětleno v tomto tutoriálu.
Krok 2: Vyhledejte [Date]
sekce
Krok 3: Nastavte požadované časové pásmo v date.timezone
atribut, jak je uvedeno níže:
date.timezone = 'Asia/Kolkata'Poznámka:
Možná budete chtít nastavit jiné časové pásmo. Zde je seznam časových pásem podporovaných v PHP.
Krok 4: Uložte soubor a ukončete
Krok 5: Znovu načtěte webový server. Pokud používáte webový server Apache, níže je příkaz.
# /etc/init.d/httpd reload
(nebo)
Časové pásmo můžete nastavit pomocí níže uvedené funkce:
date_default_timezone_set('Asia/Kolkata');
Výše uvedená funkce vrátí hodnotu FALSE pro neplatné časové pásmo. date_default_timezone_set()
musí být použito před voláním date()
funkce ve vaší aplikaci.
Přečtěte si více o funkci date_default_timezone_set oficiální dokumentaci PHP.