Page 1 of 1

Nginx + несколько версий php-fpm

Posted: Sun Feb 18, 2018 10:10 pm
by dmitry_stas
Здравствуйте.

Нужны одновременно php5.6 и php7. Если просто устанавливаю второй версию php5.6, то панель начинает ругаться
php-fpm pool doesn't exist
при создании/редактировании домена.

Есть способ сделать несколько версий php-fpm?

Re: Nginx + несколько версий php-fpm

Posted: Mon Feb 19, 2018 8:45 am
by imperio
Здравствуйте. Можете посмотреть эту тему, но вроде для php-fpm нельзя.
Из коробки php селектор планируется.

viewtopic.php?f=19&t=12737

Re: Nginx + несколько версий php-fpm

Posted: Mon Feb 19, 2018 9:39 am
by dmitry_stas
Спасибо, да, эту тему видел, но она как вы и сказали не для php-fmp. Проблема в том, что панелька например в domain.sh определяет каталог pool.d как

Code: Select all

pool=$(find -L /etc/php* -type d \( -name "pool.d" -o -name "*fpm.d" \))
и если несколько версий php, то она просто не понимает каталог куда писать, потому что их будет несколько. Пока сделал просто там жестко

Code: Select all

pool="/etc/php/7.2/fpm/pool.d"
а для php5 правлю потом конфиг сайта руками. Это конечно так себе велосипед, но другого пока не смог придумать... Шаблонами там не решить, нужно менять логику ядра, добавлять именно селект выбора php, и дальше уже с его значением работать...

А не подскажите ориентировочные сроки селектора из коробки?

Re: Nginx + несколько версий php-fpm

Posted: Mon Feb 19, 2018 11:21 am
by Deeryo
Привет, можно сделать шаблоны для нескольких php-fpm, у меня работало
viewtopic.php?f=28&t=12344&p=48598#p48598
viewtopic.php?f=28&t=12344&p=48799#p48792

Re: Nginx + несколько версий php-fpm

Posted: Mon Feb 19, 2018 6:00 pm
by dmitry_stas
Привет, спасибо, это тоже читал.

Откровенно говоря я не могу понять как это у вас работает. В domain.sh prepare_web_backend есть определение папки pool.d

Code: Select all

pool=$(find -L /etc/php* -type d \( -name "pool.d" -o -name "*fpm.d" \))
if [ ! -e "$pool" ]; then
    check_result $E_NOTEXIST "php-fpm pool doesn't exist"
fi
и как раз это уводит в ошибку в случае, если в папке /etc/php* есть несколько вложенных папок pool.d. А в случае когда установлено несколько php-fpm разных версий их там несколько. У вас есть папки /etc/php5/fpm/pool.d и /etc/php/7.0/fpm/pool.d? Если да, то может быть разница в версиях панели, какая у вас?

Re: Nginx + несколько версий php-fpm

Posted: Tue Feb 20, 2018 9:45 am
by Deeryo
dmitry_stas wrote:
Mon Feb 19, 2018 6:00 pm
Привет, спасибо, это тоже читал.
Да были папки /etc/php5/fpm/pool.d и /etc/php/7.0/fpm/pool.d. Делал давно в 2016 году, когда только появилась поддержка php-fpm в Весте. Возможно сейчас панель мешает делать такие шаблоны.

Re: Nginx + несколько версий php-fpm

Posted: Tue Feb 20, 2018 1:32 pm
by demian
imperio wrote:
Mon Feb 19, 2018 8:45 am
Из коробки php селектор планируется.

viewtopic.php?f=19&t=12737
если вы хотите поставить phpbrew, не знаю как оно под бубунту(имхо не является нормальной сборкой OS Linux) и дебиан, под Centos не надо оно кривое.
если под центос нужны несколько версий пыха... remi репозитории есть готовые сборки пакетов которые ставятся рядом. нужны только линки и шаблоны.

php 5.2 и 5.3 не соберутся на новой системе, используя адаптированный под centos 7, набором скриптов phpbrew, следовательно оно абсолютно бесполезно. да и реализация php-fpm для версий 5.2 и 5.3 некорректная, лучше пускать php-cgi или spawn-fcgi

ТС: под CentOS без проблем можно запустить пулы с разными версиями php-fpm, с небольшой правкой шаблонов.
ЗЫ: сам не использовал реализацию пулов реализованную в Vesta.

ЗЫЫ: мануал писать как скомпилировать 5.2 и 5.2 под центос не буду слишком много нюансов и правки исходников, желающим могу выложить скомпилированные версии под центос 7 x64.

Re: Nginx + несколько версий php-fpm

Posted: Sun Mar 04, 2018 6:27 pm
by VovaZ
А есть ли возможность добавить php-fpm 5.4 к уже установленному 5.6 на centOS 7 ?
И выбрать для конкретного домена версию 5.4 ?
Если это возможно, то в каких конфигах и что нужно править?
Заранее благодарю.

Re: Nginx + несколько версий php-fpm

Posted: Tue Mar 06, 2018 8:17 am
by demian
проверьте есть ли у вас необходимый репозиторий

Code: Select all

# yum repolist
---
remi-php54                                                                    Remi's PHP 5.4 RPM repository for Enterprise Linux 7 - x86_64 
если репозитория нет

Code: Select all

yum-config-manager --enable remi-php54

Code: Select all

yum install php54-php-fpm [+ доп пакеты ]
конфиги пыха тут /opt/remi/php54/root/etc/

проверяете чтобы порты не пересекались, но лучше использовать сокеты.

Code: Select all

systemctl php54-php-fpm enable
systemctl php54-php-fpm  start
скопируйте шаблоны с именем php-fpm -> php54-fpm
соответственно подправьте.

прикрепите шаблон к сайту.

ЗЫ: если у вас конфигурация nginx+php-fpm не могу сказать, где точно лежат шаблоны, ибо рукожОпы( ака 99% php програмеры) наровят редиректы устанавливать через .htaccess, пожтому не разу ставил панель в такой конфигурации