Установка Apache 2.4VC14 + PHP 7 на Windows 7 ­- 10

Данная инструкция служит дополнением к инструкции по установке Apache 2.4VC11 и PHP 5.6 и описывает лишь отличительные моменты, которые касаются установки Apache24 и PHP7 на Windows. Описание установки СУБД MySQL остается прежним и не повторяется в этой инструкции.

Данная инструкция рассчитана на разработчиков с базовыми знаниями Apache и PHP. В данной инструкции будут описана только разница в установке Apache и PHP с основной инструкцией по установке PHP 5.6. Если Вы не в курсе, что такое WEB-сервер, http-протокол и интерпретатор PHP, то Вы всегда можете узнать об этом более подробно, прочитав документацию.

Я не буду отвечать в комментариях на вопросы, ответ на которые есть в этой или основной инструкциях, ссылка на основную инструкцию указана в первом абзаце, а так же на вопросы, которые касаются понимания работы Apache и PHP и уж тем более на вопросы по ошибкам в разработке. Для этого существуют соответствующие ресурсы, литература, форумы, курсы. Однако, Вы всегда можете задать любой интересующий Вас вопрос. Возможно, кто-то из сообщества сможет Вам помочь.

Итак, поехали!

Установка Apache 2.4 VC14

  1. Загружаем Apache 2.4 binaries VC14 под свою систему по ссылке http://www.apachelounge.com/download/ Качаем 64 разрядную версию сервера. На момент написания этих строк файл назывался так: httpd-2.4.17-win64-VC14.zip
  2. Если нужны какие-то дополнительные модули, их можно загрузить там же (для базовой установки нет необходимости)
  3. Загружаем и устанавливаем обновления Visual C++ Redistributable for Visual Studio 2015 с сайта Microsoft.
  4. Разархивируем содержимое папки Apache24 из скаченного архива в D:\USR\apache. Обратите внимание, что в D:\USR\apache нужно положить не папку Apache24 из архива, а ее содержимое. Инсталлировать ничего не требуется.
  5. В файле D:\USR\apache\conf\httpd.conf изменяем значение ServerRoot на «d:/USR/apache» (строка 37) и значение DocumentRootDirecroty) на «d:/USR/www» (строки 243 и 244). Так же следует раскомментировать строку 219 и изменить ее на: ServerName localhost:80
  6. Изменяем параметры хранения логов в том же файле (находим параметры и изменяем):
    ErrorLog "D:/USR/log/apache-error.log"
    CustomLog "D:/USR/log/apache-access.log" common
  7. Устанавливаем сервис Apache. Открываем командную строку от имени Администратора и вставляем туда следующую строку:
    D:\USR\apache\bin\httpd.exe -k install
  8. Следим за сообщениями об ошибках во время установки сервиса. Если все сделано верно, никаких ошибок быть не должно. Если у вас после выполнения строки не появилась снова командная строка, то вы что-то сделали неправильно. Просто воспользуйтесь функциями скопировать и вставить, чтобы не допускать ошибок при перепечатке.
  9. Создаем на рабочем столе ярлык для D:\USR\apache\bin\ApacheMonitor.exe и/или помещаем его в автозагрузку (для открытия окна автозагрузки в WIN8..10 необходимо нажать WIN+R, затем ввести shell:Startup и нажать ОК)
  10. Запускаем ApacheMonitor. В системном трее появится ярлык. Нажимаем на него левой кнопкой, выбираем Apache24 -> Start.
  11. В браузере заходим на http://localhost/ — должны увидеть It works!
  12. Если не увидели такой надписи, разбираемся, что пошло не так (читаем логи, гуглим, пытаемся самостоятельно разобраться с проблемой, раз уж решили разбираться в тонкостях работы веб-сервера)

Установка PHP 7

  1. Загружаем последнюю версию VC14 x64 Thread Safe по ссылке http://windows.php.net/download/. Обратите внимание, что нужен именно VC14 и именно Thread Safe. Файл, который Вам нужен, скорее всего будет называться наподобие: php-7.0.0-Win32-VC14-x64.zip
  2. Извлекаем содержимое архива в D:\USR\php. Как в случае с Apache, инсталлировать ничего не требуется.
  3. В файл D:\USR\apache\conf\httpd.conf добавляем строки:
    LoadModule php7_module "d:/USR/php/php7apache2_4.dll"
    AddHandler application/x-httpd-php .php
    # Путь к файлу php.ini
    PHPIniDir "D:/USR/php"
  4. И изменяем значение параметра DirectoryIndex на index.html index.php (строка 278)
  5. Используя ApacheMonitor перезапускаем Apache (Apache24 -> Restart)
  6. Заходим браузером http://localhost/index.php и убеждаемся, что PHP работает (в браузере будет вывод PhpInfo).
  7. Делаем копию шаблона конфигурационного файла D:\USR\php\php.ini-development с именем D:\USR\php\php.ini — это конфигурационный файл для РНР.
  8. Редактируем конфигурационный файл D:\USR\php\php.ini. Пользуясь поиском находим внутри файла, раскомментируем и изменяем параметры. Обратите внимание, что параметр extension определяет набор расширений РНР. Раскомментируйте те расширения, которые нужны Вам. В примере расширения, которые были нужны мне. Временную зону указывайте свою, а не мою:
    extension_dir = "D:/USR/php/ext"
    sys_temp_dir = "D:/USR/tmp"
    extension=php_curl.dll
    extension=php_gd2.dll
    extension=php_gettext.dll
    extension=php_mbstring.dll
    extension=php_mysqli.dll
    extension=php_openssl.dll
    date.timezone = Europe/Zaporozhye
  9. Выполняем в командной строке php -m чтобы просмотреть список подключенных расширений.
  10. Перезапускаем Apache используя ApacheMonitor

Установка и настройка всего остального не изменилась. Обратитесь пожалуйста к статье по установке PHP 5.6 для получения подробной информации.

Установка Apache 2.4VC14 + PHP 7 на Windows 7 ­- 10: 165 комментариев

  1. Блин, нету cURL, строку «extension=php_curl.dll» в php.ini раскоментировал, а курла нету, у меня была верси пхп 7,0,8 поставил уже 7,1,2 и не пашет…

    1. Столкнулся с той же проблемой. Решение конечно не очень красивое, но копирование двух dll php7ts.dll, ssleay32.dll из корня php в apache/bin решило проблему загрузки php_curl.dll

  2. Денис, добрый день. Сделал все точно, так, как написано. И запускаю php -m кв командной строке — вижу множество подключенных модулей.

    Однако запускаю php файл с таким простым содержимым:

    Hello,world!

    Но, к сожалению, кроме Hello,world! не вижу ничего. браузер по умолчанию у меня Mozilla Firefox. Если же я пытаюсь приудительно открыть с помощью Internet Explorer — вместо открытия файла мне задается вопрос: Вы хотите открыть или сохранить файл. При выборе Открыть мне открывается файл в блокноте.

    Чего еще может не хватать?

    Заранее благодарен

    1. Добрый день.
      Очень похоже на то, что Вы скачали PHP Non Thread Safe.
      Убедиться в этом можно проверив наличие файла php7apache2_4.dll в каталоге, куда разархивировали PHP.
      Если его нет, скачайте правильную версию PHP и все заработает (только файл php.ini не удаляйте).
      Если этот файл есть, тогда остается только неверная настройка apache, описанная в п.3

      1. Нет, в том то и дело, что этот файл есть. с этим я успел намучаться вчера. И если бы это было так — при конфигурации апача я бы увидел матюк — нет такой длл. п.3 — это вот это имеется в виду: В файл D:\USR\apache\conf\httpd.conf добавляем строки:

        LoadModule php7_module «d:/USR/php/php7apache2_4.dll»
        AddHandler application/x-httpd-php .php

        Путь к файлу php.ini

        PHPIniDir «D:/USR/php»

        В моем случае я добавил такие строки:

        LoadModule php7_module «c:/php/php7apache2_4.dll»
        AddHandler application/x-httpd-php .php

        Путь к файлу php.ini

        PHPIniDir «c:/php»

        Причем файл длл лежит именно в той папке, что я и написал. остается только одна версия: не рабочая длл.

        1. Такого не бывает в релизах. Может быть разрядность РНР не та, что в Апаче?
          Если не уверены, перекачайте архивы еще раз. Следите за версией vc14 и разрядностью. Настроенные конфиги оставьте.

Добавить комментарий