Установка 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

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

  • Автор Никита, 07/01/2013 5:20pm, тоже самое.
    Вопрос немного другой темы. При записи в httpd.conf строчки Win32DisableAcceptEx On, апатч не запускается. Win7 - 64bit

    Автор Дмитрий, 15/02/2013 2:20pm (7 лет назад)

  • Благодарю за статью. Прекрасно написана, доступно и понятно, единственное стоит заметить что "php5apache2_4.dll-php-5.4-win32.zip" скачивать нет необходимости, т.к. файл "php5apache2_4.dll" уже находится в папке апача. А с сайта данный модуль удален.

    Автор Иван, 10/01/2013 11:36pm (7 лет назад)

  • Правда, ниже под PHP Credits пишет "Apache Version Apache/2.4.3 (Win32) PHP/5.4.10"... наверно все ок

    Автор Никита, 07/01/2013 5:23pm (7 лет назад)

  • Спасибо! Установил. Но phpunfo() выдает "Apache 2.0 Handler" вместо "Apache 2.4 Handler Apache Lounge". Подскажите пожалуйста, в чем может быть причина.

    Спасибо

    Автор Никита, 07/01/2013 5:20pm (7 лет назад)


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