URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7958
[ Назад ]

Исходное сообщение
"apache+php5.x-fpm"

Отправлено woojin , 27-Мрт-15 00:00 
всем привет!

возникла необходимость установить на домашнем сервере несколько версий php (5.3, 5.4, 5.5, 5.6-просто так воткнул)
для apach'а установил mod_fcgid и mod_fastcgi (это из поисков в и-нете)

в rc.conf прописал php_fpm_enable="YES", рестартанул, все версии php запустились (pid'ы у всех естественно разные и логи то же)

и тут самое не понятно (ни где ни чего толкового не написано, а может не там ищу): как теперь подружить каждую версию php с apache, да так что бы в одном каталоге выполнялась одна версия (5.3), а в другом другая (5.5)?

оговорюсь сразу у меня виртуальных хостов нет и предлагать их создавать пожалуйста не надо!


Содержание

Сообщения в этом обсуждении
"apache+php5.x-fpm"
Отправлено PavelR , 27-Мрт-15 07:07 
> всем привет!
> возникла необходимость установить на домашнем сервере несколько версий php (5.3, 5.4, 5.5,
> 5.6-просто так воткнул)
> для apach'а установил mod_fcgid и mod_fastcgi (это из поисков в и-нете)

Что так мало? надо большемодулей :)

> как теперь подружить каждую версию php
> с apache, да так что бы в одном каталоге выполнялась одна
> версия (5.3), а в другом другая (5.5)?
> оговорюсь сразу у меня виртуальных хостов нет и предлагать их создавать пожалуйста
> не надо!

Не надо - ну и не будем :-)

http://httpd.apache.org/docs/2.2/mod/mod_mime.html#addhandler

Syntax:    AddHandler handler-name extension [extension] ...
Context: server config, virtual host, directory, .htaccess

AddHandler можно задавать на любом уровне.

Затачивай под себя конфиг:

Based on http://blog.kmp.or.at/2013/06/apache-2-2-on-debian-wheezy-w-.../

<VirtualHost ....>

        #Какой-то AddHandler по-умолчанию для всего виртхоста
        AddHandler application/x-httpd-php .php

        #Магия
        Action application/x-httpd-php-5.8 /virtual/php5-fpm-5.8 virtual
        Alias /virtual/php5-fpm-5.8 /external-php5-fpm-5.8

        <Location /virtal/php5-fpm-5.8>
            # here we prevent direct access to this Location url,
            # env=REDIRECT_STATUS will let us use this fcgi-bin url
            # only after an internal redirect (by Action upper)
            Order Deny,Allow
            Deny from All
            Allow from env=REDIRECT_STATUS
        </Location>

        #Отправляем магию на FPM
        FastCgiExternalServer /external-php5-fpm-5.8 $fpmsocket -pass-header Authorization -idle-timeout 300

Помножь эти строки соответственно числу нужных FPM-сокетов, далее AddHandler-ом в нужный тип заверни на уровне директории.


</VirtualHost>