Системная информация
Операционная система CentOS Linux 6.7
Ядро и ЦП Linux 2.6.32-042stab108.1 на x86_64
yum repolist enabled
только те, которые я добавил вручную
- база - CentOS-6 -
- Базовый epel - Дополнительные пакеты для Enterprise Linux 6 - x86_64
- экстры - CentOS-6 - Дополнительно
- ius - Пакеты сообщества IUS для Enterprise Linux 6 - x86_64
- mod-pagespeed - мод-pagespeed
- remi-safe - репозиторий Safe Remi RPM для Enterprise Linux 6 - x86_64
- rhscl-php55-epel-6-x86_64 - PHP 5.5.21 -
- Обновления epel-6-x86_64 - CentOS-6 - Обновления
- virtualmin - RHEL / CentOS / Scientific 6 - x86_64 -
- Virtualmin virtualmin-universal - нейтральное распределение Virtualmin
- Пакеты vz-base - vz-base vz-updates - vz-updates
доступные установленные версии
я пробовал следующее (используя виртуальный мин)
home/<domain>/domains/<subdomain>.<domain>.com/public_html/public
, и phpinfo(); returns 5.3.3 version
yum replace php-common --replace-with=php55-php-common
получил слишком много пакетов в WARNING: Unable to resolve all providers
и не продолжил.yum upgrade php
Может кто-нибудь помочь с этой неприятной ситуацией? Я действительно думал, что установка другой версии и включение ее для каталога решит эту проблему.
Обратите внимание, что Apache не может управлять различными версиями PHP (используя mod_php), поэтому вы можете установить только «php» ИЛИ «php55-php»
Чтобы включить разные версии PHP на сервере Apache HTTPD, вам необходимо использовать «FPM».
В Apache 2.2 (в CentOS 6.x) вы должны использовать mod_proxy_fastcgi (доступно в EPEL, перенесено с версии 2.4) и директиву ProxyPass.
Проще с Apache 2.4 (в CentOS 7.x), который поддерживает SetHandler для прокси fastcgi.
Некоторые примеры:
Мы рекомендуем вам использовать версии пакетов SCL, чтобы версии PHP могли мирно сосуществовать друг с другом и не вызывать конфликтов, с которыми вы сталкиваетесь. У меня есть пакеты Remi PHP 5.6.15, работающие на нашем новом сервере под Virtualmin, и он работает нормально (мне пришлось настроить код обнаружения в php-lib.pl, хотя это не понадобится через несколько дней когда выйдет новый Virtualmin).
Кроме того, вы должны использовать режим выполнения fcgid и не mod_php. mod_php может существовать только в одной версии в одном экземпляре Apache и никогда не будет работать с несколькими версиями. fcgid - это режим выполнения по умолчанию в системе Virtualmin, установленной с install.sh, но его можно настроить в Системных настройках: Шаблоны сервера: Имя шаблона: Веб-сайт Apache. «Режим выполнения PHP по умолчанию» - это вариант, который вам нужен, а FCGId - правильное значение для использования нескольких версий PHP (и по ряду других веских причин).
Текущая версия Virtualmin еще не поддерживает все пакеты SCL PHP, но следующая версия будет легко обрабатывать произвольные версии (и, вероятно, будет иметь возможность запрашивать команду SCL, чтобы выяснить, какая версия PHP вам больше нравится; я не Не знаю, сколько из этого было реализовано).
На наших форумах за последние несколько недель было довольно много дискуссий на эту тему, так как SCL получил больше версий PHP, а поддержка Virtualmin для пакетов SCL была расширена.
Здесь есть несколько документов (я не уверен, что Эрик еще обновился, чтобы отразить последние изменения в SCL, но они скоро появятся, если не еще):