Zmena nastavení PHP pomocou .user.ini

Od verzie PHP 5.3.0, PHP podporuje konfiguračné INI súbory na adresárovej úrovni. Názov súboru musí byť .user.ini a syntax súboru je rovnaká ako v php.ini súbore.

POZOR: názov súboru .user.ini musí mať na začiatku názvu súboru bodku, nie je to preklep, naozaj to tak musí byť, inak ho PHP odignoruje.

PHP pri spúšťaní skriptu testuje prítomnosť .user.ini súboru v adresári, kde je umiestnený spúšťaný skript až po DOCUMENT ROOT adresár uvedený v premennej: $_SERVER['DOCUMENT_ROOT']

Aby sa zbytočne pri každej požiadavke na server nenačítal .user.ini súbor, načítava sa každých 5 minút. Preto sa môže stať, že ak urobíte zmeny v súbore .user.ini, môžu sa prejaviť najneskôr o 5 minút.

Povolené zmeny v parametroch PHP

Dovolené sú iba nastavenia PHP, ktoré sú označené módmi PHP_INI_ALLPHP_INI_PERDIR a PHP_INI_USER.

Niektoré parametre si môžete zmeniť jednoducho cez náš Webadmin. Prejdite do domény a kliknite na sekciu Nastavenia PHP. V nich si môžete zmeniť max_execution_time, upload_max_filesize, max_input_vars., display_errors a ďalšie.

Parametre, ktoré nemôžete zmeniť

V .user.ini nemôžete zmeniť nasledovné hodnoty, ktoré sú nastavované našim administračným systémom automaticky:

  • memory_limit (veľkosť je závislá od zakúpeného hostingového balíčka - Štandard hosting / Profi hosting)
  • disable_functions - kvôli lepšej ochrane pred hacknutím webov postavených na opensource, sú štandardne zakázané tieto PHP funkcie: system, exec, passthru, shell_exec, proc_open, popen, show_source. Tieto funkcie sú v drvivej väčšine prípadov nevyužiteľné avšak môžete si ich v prípade potreby povoliť. Ako na to sa dočítate v návode Zmena nastavení PHP. Ak by ste potrebovali povoliť iné predvolene zakázané funkcie, kontaktujte nás.

Ukážka .user.ini súboru

V nasledujúcom príklade si zmeníme nastavenia PHP nasledovne. Budeme potrebovať napríklad predĺžiť maximálny čas vykonávania skriptu na 60 sekúnd, chceme aby nám prehliadač zobrazoval všetky chyby na obrazovke a povolíme upload 200M súborov:

max_execution_time = 60
display_errors = On
upload_max_filesize = 200M

Ak sa zmeny v PHP aplikujú, môžeme si ich skontrolovať pomocou phpinfo() funkcie. V prvom stĺpci sa nachádza názov parametra PHP, v druhom stĺpci je zmenený parameter a v treťom stĺpci sa nachádza defaultná, serverom nastavená hodnota parametra: