Промяна на PHP версията за определена директория в ISPConfig се извършва с помощта на три файла, които се разполагат в нея.
Например PHP версията за сайта mysupersite.com (/var/www/mysupersite.com/web) е 7.4, но искате в поддиректория, в която имате друго приложение (/var/www/mysupersite.com/web/blog), да зададете използването на PHP версия 5.5.
Това е случай, който може да се срещне, ако например сте хостнали Вашия домейн mysupersite.com на VPS с контролен панел ISPConfig и сте го конфигурирали да използва PHP версия 7.4, но имате стар блог (разположен в поддиректория /blog), който се нуждае от по-стара версия на PHP например 5.5 или друга.
Версията на PHP, която се използва за домейна, може да се види и променя през Sites » Website » настройки за домейна » таб Domain – PHP Version.
В тази статия ще Ви покажем как да зададете различна PHP версия за поддиректория, от тази, с която работи виртуалния хост.
Тази настройка е възможна само ако използвате FastCGI за виртуалния хост.
Качете три файла в директорията, за която ще промените PHP версията
Например директорията на основния домейн работи с PHP версия 7.4, а в поддиректория е разположен блог, за който е нужна версия PHP 5.5.
За да промените PHP версията за блога mysupersite.com/blog, е нужно да достъпите директорията му /var/www/mysupersite.com/web/blog и да разположите в нея три файла.
Препоръчително е да копирате локално трите файла на Вашия компютър, да ги редактирате и да ги качите обратно в директорията, за която ще задавате различна PHP версия.
1. htaccess
В този файл ще намерите следното съдържание:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php
FcgidWrapper /var/www/mysupersite.com/web/blog/php55.fcgi .php
</IfModule>
/var/www/mysupersite.com/web/blog/
– променете с абсолютния път на директорията, за която се променя PHP версията;
Обърнете внимание, че тук е описан пътят до втория файл php55.fcgi.
2. php55.fcgi
Файлът php55.fcgi е със следното съдържание:
#!/bin/bash
DEFAULTPHPINI=/var/www/mysupersite.com/web/blog/php55.ini
exec /opt/remi/php55/root/usr/bin/php-cgi -c ${DEFAULTPHPINI}
/var/www/mysupersite.com/web/blog/
– променете с абсолютния път на директорията, за която се променя PHP версията;
Какво съдържа файл php55.fcgi:
- ред 1: пътят до интерпретатора (bash);
- ред 2: пътят до php.ini;
- ред 3: пътят до PHP интерпретатора (в случая от примера php55).
Пътят до различните PHP интерпретатори:
- PHP 4.4:
/opt/remi/php44/bin/php-cgi
- PHP 5.2:
/opt/remi/php52/bin/php-cgi
- PHP 5.3:
/opt/remi/php53/bin/php-cgi
- PHP 5.4 (версия по подразбиране*):
/usr/bin/php-cgi
- PHP 5.5:
/opt/remi/php55/root/bin/php-cgi
- PHP 5.6:
/opt/remi/php56/root/bin/php-cgi
- PHP 7.0:
/opt/remi/php70/root/bin/php-cgi
- PHP 7.1:
/opt/remi/php71/root/bin/php-cgi
- PHP 7.2:
/opt/remi/php72/root/bin/php-cgi
- PHP 7.3:
/opt/remi/php73/root/bin/php-cgi
- PHP 7.4:
/opt/remi/php74/root/bin/php-cgi
* Можете да проверите коя е версията на PHP по подразбиране за сървъра през SSH с командата „php -v
“. Друг вариант е, да използвате phpinfo. Пътят до PHP версията по подразбиране, който можете да използвате за cron задачата, винаги е /usr/bin/php-cgi
3. php.ini
Конфигурационният файл на PHP – php.ini, който се използва за конкретната PHP версия. Използва се за индивидуални настройки, така че промените да важат само за дадената директория (var/www/mysupersite.com/web/blog).
При правилна конфигурация в трите файла:
- mysupersite.com ще работи с PHP версия 7.4;
- mysupersite.com/blog ще работи с PHP версия 5.5.