@DenisDangerous

Как сделать переключение версий php?

Помогите правильно настроить, чтобы для разных хостов использовать разные версии php. Чтоб переключать либо в htaccess, либо в настройках хостов. В интернете что находил требует suphp, а он отсутствует в debian stretch и не собирается из исходников на cubieboard. В общем имеются apache 2.4 с модулем fastcgi, php5.6-fpm, php7-fpm осталось только правильно настроить чтоб все работало.
сейчас у меня так:

/etc/apache2/mods-enabled/fastcgi.conf
<IfModule mod_fastcgi.c>
 AddType application/x-httpd-fastphp .php
 Action application/x-httpd-fastphp /php-fcgi
 
# PHP5
# Alias /php-fcgi /usr/lib/cgi-bin/php5-fcgi
# FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -appConnTimeout 10 -idle-timeout 250 -socket /var/run/php5-fpm.sock -pass-header Authorization
 
# PHP7
Alias /php-fcgi /usr/lib/cgi-bin/php
FastCgiExternalServer /usr/lib/cgi-bin/php -appConnTimeout 10 -idle-timeout 250 -socket /run/php/php7.0-fpm.sock -pass-header Authorization
 
# Apache 2.4+
 <Directory /usr/lib/cgi-bin>
  Require all granted
 </Directory>
#


к примеру если я добавлю к конфигу какого-нибудь хоста
Alias /php-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -appConnTimeout 10 -idle-timeout 250 -socket /var/run/php5-fpm.sock -pass-header Authorization


То на этом хосте 5.6, на остальных 7. Но стоит добавить это ко второму хосту - апач не стартует...
  • Вопрос задан
  • 1354 просмотра
Решения вопроса 1
@DenisDangerous Автор вопроса
В общем решил проблему сам

/etc/apache2/mods-enabled/fastcgi.conf
<IfModule mod_fastcgi.c>
 AddType application/x-httpd-php5 .php
 Action application/x-httpd-php5 /php-fcgi5
 AddType application/x-httpd-php7 .php
 Action application/x-httpd-php7 /php-fcgi7


# PHP5
 Alias /php-fcgi5 /usr/lib/cgi-bin/php5-fcgi
 FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -appConnTimeout 10 -idle-timeout 250 -socket /var/run/php5-fpm.s$

# PHP7
 Alias /php-fcgi7 /usr/lib/cgi-bin/php
 FastCgiExternalServer /usr/lib/cgi-bin/php -appConnTimeout 10 -idle-timeout 250 -socket /run/php/php7.0-fpm.sock $

# Apache 2.4+
 <Directory /usr/lib/cgi-bin>
  Require all granted
 </Directory>
#
</IfModule>


а далее в настройках хоста или в htaccess пишем
<FilesMatch "\.php">
SetHandler application/x-httpd-php5
</FilesMatch>


или

<FilesMatch "\.php">
SetHandler application/x-httpd-php7
</FilesMatch>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы