The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка PHP 5.2 и PHP 5.3 для одновременной работы под управлением Apache в Windows
Если у Вас установлен Apache, то сделайте сперва копию папки установленной
программы и аналогично для PHP.

1. Сначала удаляем все, что связано с установками Apache и PHP из реестра.
(панель управления->установка удаление программ (в XP) панель
управления->программы и компоненты (Vista и windows7) удаляем Apache и PHP)

2. Ставим два Apache в разные папки (из копии, не инсталятором .msi). Если нет
копии, то пользуемся инсталлятором 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) из архива, а PHP 5.3 в
папку php53 (например D:\usr\php53) из архива (обращайте внимание на версии
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. Теперь для удобства, можно поставить 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
 
20.10.2009 , Автор: Евгений Пономарев
Ключи: php, apache, windows / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / WWW, Apache httpd / Редирект, mod_rewrite

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Crazy Alex (??), 17:05, 22/10/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот кто бы мне объяснил - ЗАЧЕМ это? Чтобы потом, переходя на продакшн на никсы, получить проблемы с разрешениями?

    Или кто-то держит apache+php в продакшне на винде?

     
     
  • 2.2, ws (ok), 17:55, 22/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    наверное нужно для девелоперов сопровождающих различные проекты....
     
     
  • 3.15, vvs (??), 10:56, 30/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    так пускай такие девелоуперы сами себе голову и ломают над проблемой.
     
  • 2.4, аноним (?), 01:46, 23/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Вот кто бы мне объяснил - ЗАЧЕМ это? Чтобы потом, переходя на
    >продакшн на никсы

    ЗАЧЕМ переходить на никсы?

     
     
  • 3.5, User294 (ok), 05:22, 23/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что серверные винды - дорогие и бестолковые.А домашние - паршивы как сервер, ибо TCP/IP стек искусственно покоцаный "для борьбы с DDoS-ами" (а заодно и стимулирования покупки серверной винды с более другой ценой).

    P.S. дожили - советы по винде - на опеннете! :E

     
     
  • 4.6, аноним (?), 06:33, 23/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Потому что серверные винды - дорогие и бестолковые.

    мужики-то не знали

    >TCP/IP стек искусственно покоцаный

    ерунда. правятся несколько байтов

    >советы по винде - на опеннете!

    и правильно.
    это opennet, а не linuksdrochernet
    уясните разницу

     
     
  • 5.7, User294 (ok), 06:50, 23/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >мужики-то не знали

    Их половые трудности, имхо.

    >>TCP/IP стек искусственно покоцаный
    >ерунда. правятся несколько байтов

    Угу... и караулится каждый апдейт, а то вдруг он ненароком этот драйверок обновит? В общем - см. про пример про автомобиль и вендора любезно проверяющего нас на внимательность путем регулярного минирования территории и подкладки растяжек под авто или бомб в багажник. Приятной поездки:).

    >это opennet,

    И каким боком к нему относится винда??


     
     
  • 6.9, аноним (?), 08:01, 23/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>это opennet,
    >
    >И каким боком к нему относится винда??

    в новости обсуждается:
    а) Apache. Лиценизия Apache Software License. FLOSS!!!
    б) PHP. Лицензия PHP License. FLOSS!!1
    в) nginx. Лицензия BSD. FLOSS!!!
    "винда" в статье не обсуждается, обсуждаются сервисы на её основе.
    надеюсь, так понятно даже самым упоротым фанатикам.

    другой вопрос - качество самой статьи.

     
     
  • 7.11, User294 (ok), 03:26, 24/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > "винда" в статье не обсуждается, обсуждаются сервисы на её основе.

    Примерно один хрен по смыслу, вы не находите? :)

    > надеюсь, так понятно даже самым упоротым фанатикам.

    Ну... если проприетарщик со стажем, юзавший виндозу более десятка лет может стать фанатом опенсорс, при том настолько что его начнут обвинять в красноглазии - значит, для этого мира еще не все потеряно. Где-то так, имхо :-).И да, я рад этим изменениям. Мне они нравятся - все познается в сравнении.Извините, но открытые модели разработки - рулят :P.

     
     
  • 8.12, аноним (?), 09:26, 24/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    не нахожу ничего удивительного десять лет назад linux представлял из себя Уг ... текст свёрнут, показать
     
     
  • 9.14, Трухин Юрий Владимирович (?), 01:43, 30/10/2009 [^] [^^] [^^^] [ответить]  
  • +/
    а ведь правда ... текст свёрнут, показать
     

  • 1.3, r0mik (??), 00:43, 23/10/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    зачем 2 копии апача?
     
  • 1.8, Manifesto (?), 07:44, 23/10/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Статья не соответствует теме - в теме написано про ОДНОВРЕМЕННУЮ работу. А как выясняется, работают они не одновременно друг с другом, а вообще под разными копиями апачей.
    Если требуется для разработчика две версии ПХП, то всегда проще без наворотов nginx и двух копий апача прикрутить одну версию через модуль, вторую через fast-cgi.
    Про винды на опеннете согласен - моральное разложение. Всё равно, что прийти на мотогонки с трёхколёсным велосипедом.
     
  • 1.10, Samm (??), 17:00, 23/10/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Статья - рачло. Во первых - никакой одновременной работы, а 2 тушки. Во вторых - куда элегантнее все было бы решить через cgi/fastcgi одной тушкой. Касательно nginx - пусть автор откроет для себя fastcgi, а не прокси к апачу, и убьет себя ап стену. А вообще согласен с предыдущими ораторами - на удивление дурацкая заметка.
     
     
  • 2.16, Tron is Whistling (?), 15:02, 10/06/2023 [^] [^^] [^^^] [ответить]  
  • +/
    У нас так шаред построен. Клиенты могут почти мгновенно переключить версию без особых проблем.
    Не как в статье, конечно, и на фронте haproxy, и на бэке сделано по уму, но суть та же, метод правильный.
    На cgi/fastcgi на хостинге я насмотрелся, спасибо, нет.
     

  • 1.13, terr0rist (ok), 14:24, 28/10/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А имхо надо просто установить VMWare, в нём создать 2 виртуальные машины и поставить в одну ИИС с пхп52, а в другую ИИС с пхп53. И никаких проблем с чисткой реестра и ваще. Потом всё это дело через НАТ вывести в инет, и вперёд - 1М посещений в сутки гарантировано... Главное - можно создавать столько виртуалок, сколько пожелаете, а венды и ИИС установить гораздо проще, чем сконфигурировать апач/нгинх с пхп в режиме CGI/FastCGI (про unix молчу). А ваще никак не пойму, зачем пхп, если есть АСП? Что-то тут явно не так. А не пиратские ли венды у автора случаем?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру