Файлът php.ini (при СуперХостинг.БГ този файл се казва php-fcgi.ini) е конфигурационен файл на PHP, чрез който може да се променят стойностите на определени PHP директиви.
Автоматично управление на двата конфигурационни файла на PHP
Автоматично управление на двата конфигурационни ini файла на PHP (за PHP модулите и PHP директивите) в хостинг акаунта се извършва през инструмента в cPanel » PHP Manager by SuperHosting.
През PHP Manager можете да извършвате промяна по PHP директивите и PHP модулите, без да се налага да създавате и редактирате ръчно съответните конфигурационни ini файлове.
PHP Manager автоматично създава и управлява двата конфигурационни ini файла, които се използват за активната PHP версия в хостинг акаунта.
Ръчно управление на двата конфигурационни файла на PHP
Ръчното управление на PHP настройките може да се наложи, ако искате за определена директория в акаунта да използвате различна PHP версия и да управлявате PHP директивите и модулите ѝ.
За да управлявате ръчно PHP настройките, ще е нужно да проверите за наличието на три неща:
- Конфигурационен ini файл за PHP директивите.
- Конфигурационен ini файл за PHP модулите.
- Активиране на двата конфигурационни ini файла на PHP.
1. Конфигурационен ini файл за PHP директивите
Когато сте активирали през PHP Manager различна PHP версия за определена директория, ini файлът за PHP директивите се намира в същата тази директория и е с име, в което е посочена версията (например php72-fcgi.ini
). Редактиране на този файл може да се извърши през файловия мениджър или чрез текстов редактор.
След като се извършат промени по ini файла, за да влязат в сила, ще е нужно да се рестартират PHP процесите. Това може да се извърши през Process Manager by SuperHosting.
За проверка, дали промените са влезли в сила, може да използвате php файл, съдържащ функцията phpinfo().
Създаване на собствен ini файл за управление на PHP директивите
Файлът phpXX-fcgi.ini
се създава автоматично, при активиране на PHP версия за дадена директория през PHP Manager.
Ръчно създаване на файла е възможно, но трябва да разполагате със съдържанието на коректния php-fcgi.ini
за избраната PHP версия (php71-fcgi.ini
, php72-fcgi.ini
и т.н.).
Съдържанието за този файл може да се вземе от вече създаден автоматично phpXX-fcgi.ini
файл. Например ако активирате през PHP Manager определена PHP версия за празна директория в хостинг акаунта, ще разполагате със съответния ini файл за тази PHP версия.
2. Конфигурационен ini файл за PHP модулите
По подразбиране, след като активирате определена PHP версия за директория в хостинг акаунта през PHP Manager, този конфигурационен ini файл се създава автоматично и се намира в директорията:
/home/cpaneluser/.sh.phpmanager/phpXX.d
За различните PHP версии, които активирате за хостинг акаунта, се създава отделна директория със съответното име за версията php70.d, php80.d и т.н.
В тази директория се намира ini файлът за управление на PHP модулите, като името му ще е с версията на съответната PHP версия например php70.ini, php80.ini и т.н.
Промяна на phpXX.ini файла за PHP модулите може да се извърши през файловия мениджър или чрез текстов редактор.
Активирането на модул в този файл се извършва, като се добави или разкоментира реда му:
extension=phpmodule.so
phpmodule – е името на PHP модула, който искате да активирате;
След като се извършат промени по ini файла, за да влязат в сила, ще е нужно да се рестартират PHP процесите. Това може да се извърши през Process Manager by SuperHosting.
За проверка, дали промените са влезли в сила, може да използвате php файл, съдържащ функцията phpinfo().
Създаване на собствен ini файл за управление на PHP модулите
Създаването на директория и ini файл за управление на PHP модулите е автоматично, при активиране на PHP версия за дадена директория през PHP Manager.
Ръчно създаване на директория и ini файл за PHP модулите е възможно. За целта ще Ви е нужен SSH достъп до хостинг акаунта.
Първо създайте директорията, в която ще се намира ini файла за управление на PHP модулите:
mkdir myphp.d
След това копирайте настройките от системния ini файл в потребителски ini файл:
cat /opt/cpanel/ea-php70/root/etc/php.d/* > /home/cpaneluser/myphp.d/php70.ini
ea-php70 – заменете 70 с желаната PHP версия;
/home/cpaneluser/myphp.d/ – пътят до създадената директория;
3. Активиране на двата конфигурационни ini файла на PHP
За да може двата конфигурационни ini файла на PHP да са активни, ще са нужди други два системни файла – .htaccess
и php.fcgi
.
Първо проверете, дали тези файлове не са налични вече в директорията, за която сте активирали определена PHP версия през PHP Manager. След това проверете, дали в тези файлове са зададени коректните директиви.
.htaccess
Проверете дали в директорията е наличен .htaccess файл и дали в него са налични следните редове:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php
FcgidWrapper /home/cpaneluser/dir/php.fcgi .php
</IfModule>
/cpaneluser/dir/ – пълният път до директорията, за която сте активирали определена PHP версия;
Ако файлът .htaccess не съществува, създайте го и добавете в него посочените редове. Ако вече съществува такъв файл, добавете в началото му посочените редове.
php.fcgi
След това проверете дали файлът php.fcgi съществува в посочената директория (/cpaneluser/dir/) и го създайте, ако не съществува. Задайте коректните права за този файл – 755.
Ако директорията с ini файла за PHP модулите е автоматично създадена (PHP Manager), коректните редове са:
#!/bin/bash
PHP_INI_SCAN_DIR=/home/cpaneluser/.sh.phpmanager/phpXX.d
export PHP_INI_SCAN_DIR
DEFAULTPHPINI=/home/cpaneluser/dir/phpXX-fcgi.ini
exec /opt/cpanel/ea-phpXX/root/usr/bin/php-cgi -c ${DEFAULTPHPINI}
/home/cpaneluser/.sh.phpmanager/phpXX.d – пълният път до директорията, в която се намира phpXX.ini файла за управление на PHP модулите; phpXX – трябва да е посочена версията на PHP например php70, php56;
/home/cpaneluser/dir/phpXX-fcgi.ini – пълният път до ini файла, с който се управляват PHP директивите;
/opt/cpanel/ea-phpXX/root/usr/bin/php-cgi – в този път се задава версията на желаната PHP версия, например ea-php70 е за PHP версия 7.2;
Ако директорията за ini файла за PHP модулите е създадена ръчно, проверете дали пътят до нея е зададен коректно:
PHP_INI_SCAN_DIR=/home/cpaneluser/myphp.d
/home/cpaneluser/myphp.d – пълният път до директорията, в която се намира phpXX.ini файла за управление на PHP модулите;
CGI протокол за обработка на PHP
В много редки случаи е възможно да се активира PHP в режим на CGI. Активирането на PHP CGI може да се наложи при стари системи в хостинг акаунта, които по една или друга причина не могат да функционират коректно при по-новата и бърза технология FastCGI.
Когато за дадена директория (сайт) е активирано PHP CGI, във файла .htaccess, намиращ се в същата тази директория, ще е наличен реда:
.htaccess
AddHandler x-httpd-phpXX .php
За да използвате собствен php.ini файл, който ще е активен за тази директория и всичките ѝ поддиректории, добавете следните редове в същия този .htaccess файл:
.htaccess
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/cpaneluser/dir/php.ini
</IfModule>
/cpaneluser/dir/ – променете с пътя до собствения php.ini файл;
Този php.ini файл можете да създадете и редактирате през файловия мениджър или чрез текстов редактор.
След като се извършат промени по ini файла, за да влязат в сила, ще е нужно да се рестартират PHP процесите. Това може да се извърши през Process Manager by SuperHosting.
За проверка, дали промените са влезли в сила, може да използвате php файл, съдържащ функцията phpinfo().