Установка PHP 5.4 и Apache 2.4 под Windows

Метки: , , ,

 

На данный момент, чтоб получить связку PHP 5.4 и Apache 2.4 на вашей Windows-машине недостаточно, как в старые добрые времена, просто скачать и установить web-сервер с apache.org, а язык программирования с php.net. Дело в том, что разработчики PHP, начиная с версии 5.3, выкладывают лишь VC9-версии дистрибутивов (скомпилированные в Visual Studio 2008), а на сайте apache.org доступны только VC6-версии web-сервера (скомпилированные в Visual Studio 2006). На официальном сайте PHP не рекомендуют к использованию VC9-версии языка совместно с VC6-версиями сервера. Кроме того, бинарников Apache 2.4 для Windows на apache.org попросту нет.

Задача: раздобыть и установить VC9-версии языка PHP 5.4 и сервера Apache 2.4 под Windows

Обновляем  библиотеки Visual C++

Чтоб VC9-приложения запускались, нужны соответствующие Visual C++ библиотеки. Скачать Visual C++ 2010 SP1 Redistributable Package x86 можно с сайта микрософта: http://www.microsoft.com/download/en/details.aspx?id=8328

Ставим Apache 2.4 на Windows
  1. Идём на http://www.apachelounge.com/download/, ищём на страничке раздел озаглавленный «Apache 2.4 win32 binaries», а там ссылку на файл вида httpd-2.4.x-win32.zip и качаем его. Вкладочку с этим сайтом не закрываем, он нам ещё понадобится при установке PHP.
  2. Распаковываем архив, а путь, куда распаковали, копируем в буфер обмена.
  3. Открываем на редактирование файл "conf/httpd.conf", меняем путь прописанный в ServerRoot на путь к директории, в которую был распакован дистрибутив сервера. Прописываем ServerName, делаем другие необходимые настройки. Пробуем запускать сервер с командной строки исполняя "bin/httpd.exe", читая сообщения об ошибках и исправляя конфиг согласно полученным указаниям.
  4. Дальше можно так и запускать сервер вручную, а можно установить Apache в качестве службы Windows, выполнив для этого команду
    bin/httpd.exe -k install
  5. Ещё можно ярлык на "bin/ApacheMonitor.exe" скопировать в "C:\Users\[ВАШ_ПОЛЬЗОВАТЕЛЬ]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\" и монитор Apache будет автоматически загружаться при логине пользователя.

    windows tray with Apache monitor icon
  6. Запускаем сервис и проверяем работу сервера.
Ставим PHP 5.4 на Windows
  1. Идём на http://windows.php.net/download/ и в блоке VC9 x86 Thread Safe, обязательно thread safe, ищем ссылку на zip-файл и скачиваем его.
  2. Распаковываем архив с PHP, например в "C:/Program Files (x86)/PHP/".
  3. Идём на http://www.apachelounge.com/download/ и скачиваем архив с PHP-модулями Apache, php5apache2_4.dll-php-5.4-win32.zip
  4. В архиве с PHP-модулями Apache, находим папку соответствующую вашей версии PHP и берём оттуда PHP-модуль Apache, php5apache2_4.dll
  5. Открываем конфигурационный файл Apache, bin/httpd.conf, и добавляем следующее:
    LoadModule php5_module "C:/Program Files (x86)/PHP/php5apache2_4.dll"
    AddHandler application/x-httpd-php .php
    PHPIniDir "C:/Program Files (x86)/PHP"

Перезапускаем сервер и проверяем работоспособность, phpinfo() должна выдать что-то вроде этого:

phpinfo shows VC9 and ApacheLonge strings

Небольшое обновление (июль 2016): только что при установке  PHP 5.3.10 понадобилось так же создать php.ini на основе готового примера из папки установки, раскомментировать нужные PHP-модули, и прописать в директиве extension_dir полный путь к папке с расширениями ("C:\Program Files (x86)\PHP-5.3.10\ext\"). По-другому PHP-модули не виделись. 


30 Октябрь 2012

Комментарии (заморожены на какое-то время)

  • Будьте внимательны: Apache
    "The binaries below do not run on XP and 2003, use the VC10 binaries. Runs on: 7 SP1, Vista SP2, 8 / 8.1, 10, Server 2008 SP2 / R2 SP1, Server 2012 / R2, Server 2016"

    Автор Алексей, 12/06/2016 8:49pm (4 лет назад)

  • Спасибо за полную инфу. Но на win2003server sp2 x86 не запускаюются эти приложения. Библиотеки VC установлены.
    ????

    Автор Алексей, 12/06/2016 8:37pm (4 лет назад)

  • Спасибо за инструкцию, работает. В php.ini тоже нужно немало правок вносить, чтоб под требуемые задачи подогнать.
    Только мне нужен был сервер и под 1С в том числе, а при таком запуске при публикации базы ругается "Веб-серверы не обнаружены"

    Автор VVV, 11/12/2014 5:54pm (5 лет назад)

  • Так же: phpunfo() выдает "Apache 2.0 Handler" вместо "Apache 2.4 Handler Apache Lounge".
    не пойму "почему"

    Автор Aleksandr, 27/09/2014 9:16pm (6 лет назад)

  • Таким же образом установил apache 2.4 vc 11 +php 5.5
    Спасибо за справку

    Автор Andrey, 07/04/2014 9:04pm (6 лет назад)

  • @dss: создайте php-скрипт c таким содержимым: "<?php phpinfo(); ?>" (без кавычек) и положите его в папку, которую вы указали в переменной DocumentRoot (файле "conf/httpd.conf").

    Автор Артём, 03/07/2013 2:12pm (7 лет назад)

  • Извините, но откуда вызвать phpinfo()?

    Автор dss, 02/07/2013 5:40pm (7 лет назад)

  • @omg: запускать `bin/httpd.exe` можно после предварительной смены рабочей директории на ту папку куда установился Apache (например, можно выполнить `cd "C:\Apache\"`, а уже потом `bin/httpd.exe`).

    Автор Артём, 10/05/2013 9:23am (7 лет назад)

  • почему-то не могу выполнить команду через командную строку(3 пункт), пишет "bin" не является внутренней или внешней
    командой, исполняемой программой или пакетным файлом. не подскажите что делать?

    Автор omg, 09/05/2013 6:28pm (7 лет назад)

  • Убил два дня на ошибку с загрузкой php5apache2_4.dll ошибка оказалась следующей апатчу не нравился адрес LoadModule php5_module c:/Ноmе_server/PHP5/php5apache2_4.dll
    Перенес всю папку PHP5 в корень диска С изменил путь
    LoadModule php5_module c:/PHP5/php5apache2_4.dll

    Автор LrG, 03/04/2013 2:54pm (7 лет назад)


Интернет реклама