Назад | Перейти на главную страницу

linux: один apache, две версии php. возможно?

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

в настоящее время единственное решение, которое я нашел, - это установить два apache и два phps, и каждый из apache будет находиться в другом порту.

Спасибо

Да, это возможно. Вы должны использовать режим fastcgi с помощью директивы «FcgidWrapper» в конфигурации apache. Таким образом, вы можете определить разные демоны-обработчики fastcgi для разных расширений URL, путей или даже виртуальных хостов. В фоновом режиме каждый демон fastcgi может легко запускать разные версии php.

Если бы вы использовали PHP 4 и 5, было бы легко управлять тем, с каким модулем вы хотите использовать:

<IfModule mod_php5.c> 
<IfModule mod_php4.c> 

Итак, есть 3 способа справиться с этой проблемой:

  1. Исправить проблемы в скриптах PHP (имхо лучший способ)
  2. Измените исходный код PHP, чтобы он отображался как «mod_php52.c», «mod_php53.c»
  3. Запустите его как CGI, где это необходимо. Проверьте Вот

Вы также можете запустить 2 сервера на разных портах и ​​использовать прокси

я использую PHPfarm к запустить много версий PHP на одном экземпляре apache. Работает абсолютно нормально.

Вы в основном устанавливаете альтернативные версии PHP как CGI и используете их для обработки .php файлы в определенных vhosts.