У меня есть установка, в которой я, к сожалению, достиг предела версии между пакетом библиотеки, необходимым для приложения, и моей версией PHP.
Сейчас я использую PHP 5.4, но модуль совместим только с 5.3, что оставляет меня в затруднительном положении.
Я знаю, что могу запускать несколько версий PHP с помощью fcgi, но можно ли запускать их отдельно с разными модулями, и если да, то как мне реализовать модуль (модуль упакован как файл .deb с определенными зависимостями) ?
Чтобы разместить несколько версий PHP на одной платформе, вам необходимо внести изменения в свой файл конфигурации, создать файл (или файл спецификации для rpm), чтобы двоичные файлы и файлы поддержки имели такие имена, как php53 (.ini) и php54 (.ini), / usr / lib64 / php54 / modules, яда, яда, яда. Изменение параметров конфигурации важно, чтобы он знал, где искать собственные модули, ini и т. Д. Установка одной версии и изменение имен файлов не изменит скомпилированные во внутренних настройках. (Вы можете компилировать модули в двоичный файл, но я не рекомендую это делать.)
Вы можете установить версию по умолчанию, создав ссылку с php на версию по вашему выбору.
Что касается Apache, вы можете попробовать следующее:
FcgidWrapper "/usr/bin/php-cgi53 -c /etc/httpd/conf/php53.ini" .php
или
FcgidWrapper "/usr/bin/php-cgi54 -c /etc/httpd/conf/php54.ini" .php5
Надеюсь, это тебе поможет.
Да, это возможно. Все, что вам нужно, это использовать один php как модуль для apache, а другой как cgi. У каждого из php может быть собственный php.ini с уникальным списком модулей для загрузки.
Например, я использую php-5.3.27 как модуль apache и php-5.2.17 как cgi, поскольку одно из наших приложений требует 5.2.x и не работает с 5.3.x
для php-5.2
Loaded Configuration File /usr/local/php-5.2.17/lib/php.ini
для php-5.3
Loaded Configuration File /etc/php.ini
Вы можете указать путь для поиска php.ini в параметре конфигурации с помощью
--with-config-file-path