
похоже, что некоторые из моих PHP-приложений требуют PHP 5.2, а некоторые — PHP 5.3. есть ли способ настроить Apache (v2.2.14) так, чтобы один виртуальный хост работал с одной библиотекой PHP, а другой виртуальный хост — с другой?
В настоящее время единственное решение, которое я нашел, — это установить два Apache и два PHP, причем каждый Apache будет находиться в отдельном порту.
Спасибо
решение1
Если бы вы использовали PHP 4 и 5, было бы легко манипулировать тем, какой модуль вы хотите использовать:
<IfModule mod_php5.c>
<IfModule mod_php4.c>
Итак, есть 3 способа решения этой проблемы:
- Исправить проблемы в PHP-скриптах (на мой взгляд, лучший способ)
- Измените исходный код PHP так, чтобы он сообщал о себе как «mod_php52.c», «mod_php53.c»
- Запустите его как CGI, где это необходимо. Проверьте это.здесь
Вы также можете запустить 2 сервера на разных портах и использовать прокси.
решение2
Да, это возможно. Вам следует использовать режим fastcgi с помощью директивы "FcgidWrapper" в конфигурации Apache. Таким образом, вы можете определить различные демоны обработчиков fastcgi для различных расширений URL, путей или даже виртуальных хостов. В фоновом режиме каждый демон fastcgi затем может легко выполнять различные версии PHP.
решение3
я используюPHPfarmкзапускать много версий PHPна одном экземпляре apache. Работает абсолютно нормально.
По сути, вы устанавливаете альтернативные версии PHP как CGI и используете их для обработки .php
файлов на определенных виртуальных хостах.