
 PHP настройки
===============


Секцията **"PHP настройки"** във вашия Контролен панел дава възможност да променяте поведението на PHP интерпретатора за вашия акаунт, както и да сменяте версията на PHP, която ще се използва за скриптовете на вашия акаунт.

По принцип, поведението на PHP интерпретатора за вашия акаунт се определя от следните конфигурационни файлове:

* глобалния php.ini файл за вашия акаунт,
* локален php.ini файл (за директория) или
* локален .user.ini файл (за директория и нейните поддиректории).

Секцията **"PHP настройки"** позволява лесно да управлявате тези файлове и да добавяте настройки/директиви в тях.

#### Промяна на PHP настройките през интерфейса

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

Промени по PHP настройките на Вашия акаунт (чрез редактиране на php.ini или .user.ini файлове) могат да се извършват от секцията **PHP настройки** на Контролния панел.

Интерфейсът за управление на Вашите php.ini файлове има два режима - **Основни** и **Разширени**. Режимът може да бъде избран от левия навигационен панел:   
  
![Режим](https://hostingassets.com/faq/3941.png "Режим")

В основен режим можете да променяте само *определени най-често използвани настройки*. За да променяте всички настройки, изберете режим **Разширени****.**

Бутонът **Презареди списъка с файлове** ще намери всички php.ini и .user.ini файлове, които се намират във Вашия акаунт. Изберете файла, чийто настройки бихте желали да промените.  
  
![За напреднали](https://hostingassets.com/faq/3940.png "За напреднали")

Локални php.ini и .user.ini файлове могат да бъдат създавани през интерфейса [Файлове](https://www.icdsoft.com/bg/kb/view/faylove_2 "Файлове") на Контролния Панел.

#### **Локални .user.ini файлове**

Локалните .user.ini файлове се поддържат от PHP версии след 5.3. Те работят като php.ini файлове, но с някои особености:  
- в .user.ini файловете могат да бъдат променяни само PHP\_INI\_PERDIR и PHP\_INI\_USER опции ([http://php.net/manual/bg/ini.list.php](http://php.net/manual/bg/ini.list.php "http://php.net/manual/bg/ini.list.php")),  
- .user.ini файловете работят рекурсивно - настройките в тях ще важат също за всички поддиректории,  
 - когато се използва .user.ini файл, директиви, съществуващи в сървърния и глобалния за акаунта php.ini файлове, но несъществуващи в съответния .user.ini файл, ще бъдат валидни. Това не е така с php.ini файловете, при които всички несъществуващи директиви се връщат до настройките на стандартна PHP инсталация.

**Забележка:** Ако в една и съща директория съществуват и php.ini, и .user.ini файлове, PHP интерпретаторът ще използва настройките от .user.ini файла с предимство пред тези от php.ini файла. Като цяло, не се препоръчва да съществуват и двата файла в една и съща директория, за да се избегнат обърквания.

#### ****Локални php.ini файлове****

Локалните php.ini файлове не работят рекурсивно. Това означава, че настройките в локален php.ini файл важат само за директорията, в която се намира файлът, и не важат за нейните поддиректории. Също така, ако в една директория има локален php.ini файл, тогава всички директиви, които липсват в съответния файл, ще бъдат върнати до настройките от стандартна PHP инсталация, т.е. директивите от сървърния php.ini файл и глобалния php.ini файл за акаунта ще бъдат игнорирани.  
  
Всеки php.ini файл трябва да съдържа следните директиви за съвместимост със сървърните настройки:

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

Можете да настроите **date.timezone** според часовата зона, която искате да използвате във вашите PHP скриптове. Настройката по подразбиране ${TZ} конфигурира PHP да използва часовата зона на физическата локация на сървъра.  
  
Можете да променяте стойността на директивите. Например, ако искате да промените **session.save\_path** настройката, php.ini файлът трябва да съдържа:

zend\_extension = /usr/local/ioncube/ioncube.so  
post\_max\_size = 20M  
memory\_limit = -1  
upload\_max\_filesize = 20M  
max\_execution\_time = 120  
expose\_php = Off  
session.save\_path = ***/new/session\_path***  
error\_reporting = E\_ALL & ~E\_STRICT & ~E\_NOTICE & ~E\_DEPRECATED  
date.timezone = ${TZ}

Можете да възстановите стандартните директиви в глобалния php.ini файл като натиснете върху бутона **Възстанови**.



| Внимание | Ако искате да имате еднакви настройки за всички директории на вашия акаунт, ви препоръчваме да изтриете всички локални php.ini файлове и да ползвате само глобалния php.ini файл. |

 

#### Промяна на PHP версията за вашия акаунт

Вие можете да променяте версията на PHP, който ще се използва от PHP скриптовете на вашия акаунт, чрез таба "PHP версия". Там ще видите поддържаните PHP версии на сървъра, и можете да изберете тази, която желаете.

Можете да намерите повече информация за PHP версиите на нашите сървъри в пълната [статия по темата](https://www.icdsoft.com/bg/kb/view/poddarzhani_versii_na_php).

#### PHP версия за php.cli

Интерпретаторът php.cli се използва когато стартирате PHP скриптове през конзола на сървъра или когато ги стартирате като Cron Jobs. Php.cli използва PHP версията за акаунта, която е зададена в таба "PHP версия".

**ВАЖНО:** В редки случаи, поради стари настройки, е възможно да има разминаване между PHP версията за акаунта и използваната от **php.cli.** Ако забележите такова разминаване, просто трябва да отворите таба "PHP версия", да изберете желаната настройка, и да натиснете бутона "Запази". Това действие ще зададе правилната/желаната версия за **php.cli.**

