
 Конфигурационни файлове за PHP и техния приоритет
===================================================


Можете да ползвате локални .user.ini и php.ini конфигурационни файлове, за да променяте различни настройки за PHP интерпретатора. Тези файлове могат лесно да бъдат създавани чрез страницата [Файлове](https://www.icdsoft.com/bg/kb/view/faylove_2) в Контролния панел. Когато се създава нов поддомейн на страницата [Поддомейни](https://www.icdsoft.com/bg/kb/view/poddomeyni_1) в Контролния панел, автоматично ще се създаде и php.ini файл в главната директория на поддомейна. Файлът php.ini за главния Ви домейн (поддомейна "www") се създава при активирането на нов акаунт. Имайте предвид, че на някои акаунти тези php.ini файлове може да не съществуват заради стари настройки.

### Конфигурационни файлове за PHP

#### [Основни разлики между .user.ini и php.ini файлове](#osnovni_razliki)

* В .user.ini файловете можете да ползвате само директиви, които са маркирани с PHP\_INI\_PERDIR и PHP\_INI\_USER режими за промяна (можете да намерите списък с тези режими за промяна [тук](https://www.php.net/manual/en/ini.list.php)), а php.ini файловете могат да се използват за променяне на всички директиви, които се поддържат на нашите сървъри.
* .user.ini файловете работят рекурсивно (за всички поддиректории), за разлика от php.ini файловете, които не работят рекурсивно (техните настройки са валидни единствено за директорията, в която се намира php.ini файлът).
* Стойностите за директиви, които не са дефинирани в .user.ini файлове, ще бъдат взети от php.ini файла с най-висок приоритет според [таблицата с приоритети](#php_prioritet). Това не е така за php.ini файловете - при тях стойностите за всички директиви, които не са описани в php.ini файла, се задават [по подразбиране](https://www.php.net/manual/en/ini.list.php).
* За директории, в които се ползва FPM технологията за PHP, всички промени по .user.ini файловете ще имат ефект веднага, докато за php.ini файловете може да се наложи да презаредите главния FPM процес, за да се активират новите php.ini настройки. Има повече информация за презареждането на главния FPM процес в статията [PHP настройки](https://www.icdsoft.com/bg/kb/view/php_nastroyki "PHP Settings").

#### [Глобален php.ini файл](#globalen_php_ini_fayl)

Глобалният php.ini файл за акаунта Ви се намира в главната директория на акаунта (/home/**USERNAME**/php.ini). Настройките в този php.ini файл се прилагат глобално за всички PHP скриптове, освен ако не са променени от локален php.ini или .user.ini файл.

#### [Съдържание на php.ini файловете](#sadarzhanie_po_podrazbirane)

Всички автоматично генерирани php.ini файлове на нашите сървъри съдържат следните редове:

post\_max\_size = 60M  
memory\_limit = -1  
upload\_max\_filesize = 60M  
max\_execution\_time = 120  
expose\_php = Off  
session.save\_path = /tmp  
error\_reporting = E\_ALL & ~E\_STRICT & ~E\_NOTICE & ~E\_DEPRECATED  
date.timezone = ${TZ}

Важно: Ако искате да ползвате локални php.ini файлове, Ви препоръчваме да добавите тези редове във всеки от тях от съображения за съвместимост. Разбира се, можете да промените стойностите на тези директиви, ако решите. Например ако не искате скриптовете Ви да ползват часовата зона на физическото местоположение на сървъра, можете да смените стойността по подразбиране **${TZ}** на директивата **date.timezone**.

#### [Възстановяване на началните настройки в глобален или главен php.ini файл за поддомейн](#vazstanovyavane)

Можете да възстановите настройките в глобалния php.ini за акаунта или за главните php.ini файлове в поддомейните си чрез бутона **Възстанови** на страницата [PHP настройки](https://www.icdsoft.com/bg/kb/view/php_nastroyki "PHP Settings") в Контролния панел.

### Приоритет на конфигурационните файлове на PHP

#### [PHP интерпретатор (CGI и FPM технологии)](#php_prioritet)

Приоритетът на конфигурационните файлове за PHP е както следва (от най-висок към най-нисък):



| **Конфигурационен файл\Технология** |  | CGI  |  | PHP-FPM |
| .user.ini файл в директорията на скрипта |  | ✓ |  | ✓ |
| php.ini файл в директорията на скрипта |  | ✓ |  | × |
| главен php.ini файл за поддомейна |  | × |  | ✓ |
| глобален php.ini за хостинг акаунта |  | ✓ |  | ✓ |
| сървърен php.ini файл |  | ✓ |  | ✓ |
| [настройки на PHP по подразбиране](https://www.php.net/manual/en/ini.list.php) |  | ✓ |  | ✓ |

  
Важно: Стойностите за директивите, които не са дефинирани в .user.ini файлове, ще бъдат взети от php.ini файла с най-висок приоритет от таблицата по-горе. За разлика от .user.ini файловете, стойностите за директивите, които не са дефинирани в php.ini файл, ще бъдат зададени от PHP инсталацията на сървъра.

#### [PHP на командния ред](#php_cli_prioritet)

Конфигурационните файлове за PHP интерпретатора, изпълнен от командния ред (php.cli), имат следния приоритет:

* php-cli.ini файл в директорията на скрипта
* php.ini файл в директорията на скрипта
* глобален php.ini за акаунта
* сървърен php.ini файл
* [настройки на PHP по подразбиране](https://www.php.net/manual/en/ini.list.php)
