Nápověda CZECHIA.COM

Zákaznická a technická podpora 24/7

Konfigurace PHP direktiv

Chování PHP lze ovlivňovat pomocí tzv. PHP direktiv. Základní konfigurace je uložena v systémovém souboru php.ini, který spravuje poskytovatel hostingu. Uživatelé však mohou některé parametry upravit také sami – pomocí souborů .htaccess (Apache) nebo .user.ini (PHP-FPM).

Jak poznat, který soubor použít?

  1. Máte možnost měnit PHP verzi → použijte .user.ini.
  2. Server nepodporuje změnu PHP verze (starší hostingy) → použijte .htaccess.

Jak vytvořit konfigurační soubor

Soubor .htaccess nebo .user.ini vytvoříte v libovolném textovém editoru a nahrajete do složky public_html na FTP.

Struktura konfiguračních souborů

.htaccess

# Komentáře začínají křížkem
php_flag display_errors On
php_flag log_errors On
php_value error_log /home/uzivatel/domains/vasedomena.cz/public_html/php-error.log
# Absolutní cestu zjistíte pomocí phpinfo() nebo getcwd()

.user.ini

; Komentáře začínají středníkem
display_errors = On
log_errors = On
error_log = "/home/uzivatel/domains/vasedomena.cz/public_html/php-error.log"
; Absolutní cestu zjistíte pomocí phpinfo() nebo getcwd()

Co nemůžete měnit

Některé hodnoty lze měnit pouze na úrovni serveru (administrátorem). Mezi ty, které obvykle nelze měnit v .htaccess ani v user.ini, patří:

  • upload_max_filesize
  • post_max_size
  • memory_limit
  • max_execution_time
  • max_input_time

Pokud potřebujete jejich úpravu, lze požádat poskytovatele hostingu.

Zapnutí výpisu chyb a logování

Ukázka v .htaccess

# Zobrazení chyb
php_flag display_errors On

# Logování chyb
php_flag log_errors On

# Cesta k logu
php_value error_log /absolute/cesta/php-error.log

Ukázka v .user.ini

display_errors = On
log_errors = On
error_log = "/home/uzivatel/domains/vasedomena.cz/public_html/php-error.log"

Poznámka: U PHP-FPM se změny projeví obvykle do 5 minut.

Aktivace reportingu chyb (error_reporting)

Ukázka v .htaccess

Zapnutí všech chyb

php_value error_reporting -1
php_flag display_errors On

Zapnutí všech chyb kromě upozornění

php_value error_reporting E_ALL & ~E_NOTICE
php_flag display_errors On

Vypnutí chyb na stránce (produkce)

php_flag display_errors Off
php_value log_errors On
php_value error_log "/absolute/cesta/_php_errors.log"

Poznámka: Pokud se objeví 500 Internal Server Error, server pravděpodobně blokuje php_flag a php_value. V takovém případě použijte user.ini.

Ukázka v .user.ini

Zapnutí všech chyb

error_reporting = -1
display_errors = On

Zapnutí všech chyb kromě E_NOTICE

error_reporting = E_ALL & ~E_NOTICE
display_errors = On

Vypnutí chyb na stránce (produkce)

display_errors = Off
log_errors = On
error_log = "/absolute/cesta/_php_errors.log"

phpinfo() — Jak ověřit aktuální konfiguraci PHP

Pro zobrazení kompletní konfigurace vytvoře soubor phpinfo.php:

<?php
phpinfo();
?>

Soubor poté otevřete v prohlížeči a po dokončení testů jej smažte.

Jak zjistit absolutní cestu k Document Root

<?php
echo "DocumentRoot: " . $_SERVER['CONTEXT_DOCUMENT_ROOT'];
?>

Bezpečnostní upozornění

  • Na produkci vždy vypněte výpis chyb (display_errors = Off).
  • Chyby logujte pomocí error_log.
  • Po testování smažte diagnostické soubory jako phpinfo.php.