Как да редактирам собствен php.ini файл?

Файлът php.ini (при СуперХостинг.БГ този файл се казва php-fcgi.ini) е конфигурационен файл на PHP, чрез който може да се променят стойностите на определени PHP директиви.

Важно: PHP директивите се управляват през php-fcgi.ini файла. PHP модулите се управляват, активират, деактивират и настройват през втори конфигурационен php.ini файл.

Важно: Двата конфигурационни файла на PHP – единият за PHP директивите и другият за PHP модулите, не е препоръчително да се редактират ръчно. Вместо това можете да използвате автоматичния начин за управление и на двата файла – през PHP Manager by SuperHosting в cPanel.

Автоматично управление на двата конфигурационни файла на PHP

Автоматично управление на двата конфигурационни ini файла на PHP (за PHP модулите и PHP директивите) в хостинг акаунта се извършва през инструмента в cPanel » PHP Manager by SuperHosting.

През PHP Manager можете да извършвате промяна по PHP директивите и PHP модулите, без да се налага да създавате и редактирате ръчно съответните конфигурационни ini файлове.

PHP Manager автоматично създава и управлява двата конфигурационни ini файла, които се използват за активната PHP версия в хостинг акаунта.

Бележка: През PHP Manager се управляват PHP настройките за PHP версията, която е зададена и активна за целия хостинг акаунт. Възможно е обаче да активирате различна PHP версия за определена директория (сайт) в хостинг акаунта. В този случай, PHP директивите и PHP модулите за тази директория (и версия на PHP), може да се управляват ръчно.

Ръчно управление на двата конфигурационни файла на PHP

Ръчното управление на PHP настройките може да се наложи, ако искате за определена директория в акаунта да използвате различна PHP версия и да управлявате PHP директивите и модулите ѝ.

За да управлявате ръчно PHP настройките, ще е нужно да проверите за наличието на три неща:

  1. Конфигурационен ini файл за PHP директивите.
  2. Конфигурационен ini файл за PHP модулите.
  3. Активиране на двата конфигурационни 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 версия.

Важно: В ini файла за управление на PHP директивите трябва да се съдържат само PHP директивите. Редактиране на PHP модулите и настройките им е нужно да се извършва във втория конфигурационен ini файл (phpXX.ini).

Бележка: Конфигурационният ini файл php-fcgi.ini за PHP директивите, който се използва за активната PHP версия за целия хостинг акаунт, се намира в home директорията. Ръчната редакция на този файл не се препоръчва, защото той се управлява от PHP Manager и може да се породи конфликт при промяната му по двата начина (автоматична и ръчна).

Бележка: Ако срещате затруднение с 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 модулите трябва да се съдържат само редовете с модулите и настройките им. Редактиране на PHP директиви е нужно да се извършва в съответния phpXX-fcgi.ini файл.

Създаване на собствен 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/ – пътят до създадената директория;

Бележка: Ако срещате затруднение с PHP настройките в хостинг акаунта, изпратете запитване към отдела по Техническа поддръжка на СуперХостинг.БГ.

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 модулите;

Бележка: Ако срещате затруднение с 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().

Бележка: Ако срещате затруднение с PHP настройките в хостинг акаунта, изпратете запитване към отдела по Техническа поддръжка на СуперХостинг.БГ.

Обновена: 09.02.2023
Беше ли Ви полезна тази статия?

Вижте още