Если у Вас установлен Apache, то сделайте сперва копию папки установленной программы и аналогично для PHP.1. Сначала удаляем все, что связано с установками Apache и PHP из реестра. (панель управления->установка удаление программ (в XP) панель управления->программы и компоненты (Vista и windows7) удаляем Apache и PHP)
2. Ставим два Apache в разные папки (из копии, не инсталятором .msi). Если нет копии, то пользуемся инсталлятором [[http://www.sai.msu.su/apache/httpd/binaries/win32/apache_2.2... apache_2.2.14-win32-x86-no_ssl.msi]], делаем копию установленной программы и снова ее удаляем.
Создаем две папки (например D:\usr\apache22 и D:\usr\apache253) и копируем туда наш апач. Один Apache настраиваем на порт 8080 (главное не 80), второй на 8088. Правим httpd.conf, указав правильные пути для корня серверов, каждый для своей папки и указываем соответствующие порты для прослушивания.
3. Устанавливаем каждый Apache как сервис.
из командной строки:
httpd -n apache22 -k install - под этот апач поставим PHP 5.2
httpd -n apache253 -k install - под этот апач поставим PHP 5.3
4. Ставим PHP 5.2 в папку php (например D:\usr\php) из [[http://ru.php.net/get/php-5.2.11-Win32.zip/from/a/mirror архива]], а PHP 5.3 в папку php53 (например D:\usr\php53) из [[http://windows.php.net/downloads/releases/php-5.3.0-Win32-VC... архива]] (обращайте внимание на версии PHP, они есть и x64, выбирайте необходимую Вам).
5. Прописываем в httpd.conf модули подключения PHP
LoadModule php5_module "D:/usr/local/php53/php5apache2_2.dll"
PHPIniDir "D:/usr/local/php53"
AddType application/x-httpd-php .php
Запускаем Apache. Можно монитором из папки bin ApacheMonitor.exe
или из командной строки:
httpd -n apache22 -k start
httpd -n apache253 -k start
Если Apache при запуске выдал ошибку, не связанную с синтаксисом (неопознанную), копируем php5ts.dll из директории php в папку apache/bin.
Если в реестре не осталось упоминаний о PHP, то все заработает. Если не запустилось, проверьте переменные окружения windows на PHPRC. Их не должно быть.
В windows 7 все запустилось без проблем.
6. Теперь для удобства, можно поставить [[http://sysoev.ru/nginx/docs/windows.html nginx]], изменив его конфигурацию примерно так:
server {
listen *:80;
server_name site.ru;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen *:80;
server_name site53.ru;
location / {
proxy_pass http://127.0.0.1:8088;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Теперь просто можно тестировать обе версии PHP.
На site.ru - ответит apache c PHP 5.2, а на site53.ru - apache PHP 5.3
URL:
Обсуждается: http://www.opennet.dev/tips/info/2197.shtml