Настройка apache для php windows

Как подключить PHP к Apache на Windows

Начнём с того, что скачаем самую новую версию PHP для Windows с официального сайта: https://windows.php.net/download/

Там несколько вариантов, которые различаются:

  • версией (например, 7.2, 7.1, 7.0, 5.6)
  • битностью (64 и 32)
  • Thread Safe или Non Thread Safe

Выбирайте самую последнюю версию, с той битностью, какая у вашего сервера. Т.е. если у вас Apache 64-битный, то PHP также должен быть 64-битным. Всегда выбирайте Thread Safe версию.

Для каждого файла имеется две ссылки:

Выбирайте Zip, поскольку отладочный пакет только для тех, кто действительно знает, зачем он им нужен. Здесь имеется ввиду не отладка PHP-скриптов, а отладка самого интерпретатора PHP.

Настройка PHP в Windows

Настройка выполняется в два этапа:

  • подключение PHP к Apache
  • изменение настроек самого PHP (какие расширения включены, сколько выделено памяти PHP скриптам и т.д.)

Подключение PHP к Apache

Для подключения PHP к Apache откройте конфигурационный файл веб-сервера, который расположен по следующему пути: Apache24\conf\httpd.conf (в папке сервера, в подпапке conf, файл httpd.conf).

В этот файл добавьте три строки, две из которых нужно откорректировать:

В первой строке вместо C:/путь/до/PHP напишите точный путь до папки, куда вы распаковали файлы PHP. В третьей строке C:/путь/до/PHP/php8apache2_4.dll также откорректируйте путь, указав расположение PHP папки.

К примеру, я распаковал PHP в папку C:/Server/bin/PHP, тогда мои настройки следующие:

Если папка PHP находится в корне диска C, тогда эти строки должны быть такими:

Чтобы изменения вступили в силу, перезапустите веб-сервер или компьютер.

Настройка PHP

В папке PHP найдите файл php.ini-development и переименуйте его в php.ini – это нужно сделать обязательно, иначе PHP не будет видеть сделанные настройки.

Открываем файл php.ini любым текстовым редактором, ищем строчку

и заменяем её на

Обратите внимание, что вам нужно скорректировать строку C:\путь\до\PHP\ext\, указав конкретный путь до папки, где размещены файлы PHP.

У PHP (как и у Apache) имеется много расширений. Если вы не знаете, какое расширение для чего нужно, то как минимум два варианта:

  • начать изучить предназначение каждого расширения и подключить только те, которые вам действительно нужны;
  • подключить самые важные расширения, чтобы любые сайты и движки работали без ошибок.

Чтобы подключить большую часть расширений, найдите группу строк:

и замените её на:

теперь раскомментируйте эту группу строк:

Мы подключили самые востребованные расширения, чтобы работало как можно больше функций PHP.

Как запустить Apache на Windows

Веб-сервер Apache – это служба, которая работает в фоне и у которой нет графического интерфейса. Эта служба устанавливается и запускается в командной строке.

Если вам нужен только веб-сервер без дополнительных модулей, то вы можете ограничиться базовой настройкой.

Настройка Apache на Windows

На самом деле, базовая настройка веб-сервера крайне проста – необходимо только правильно указать путь до папки, в которой помещены веб-сайты – этого будет достаточно для запуска веб-сервера.

Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24. Поэтому если папку Apache24 из скаченного архива вы разархивируете в корень диска C, то вы можете вообще без настройки запустить веб-сервер следующей командой:

И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:

Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор).

Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24\conf\ и называется httpd.conf.

Этот файл состоит из директив с определёнными значениями. Эти директивы регулируют поведение веб-сервера. Но больше чем директив в этом файле комментариев – они начинаются с решётки (#) – комментарии нужны для человека, который настраивает веб-сервер. Сам сервер строки начинающиеся с # просто игнорирует. Т.е. вы можете просто удалить их.

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

Читайте также:  Консоль linux не выполняет команды

Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.

Думаю, вы уже обратили внимание, что веб-сервер отличается от других программ для Windows. Если вы знакомы с Linux или другими аналогичными операционными системами, вам должна быть знакома работа в консоли и редактирование текстовых файлов. Пути до файлов тоже записываются не совсем обычно для Windows. Сейчас главное уяснить два правила:

  • используйте абсолютные пути до файла (которые начинаются с буквы диска, затем следуют все вложенные папки), а не относительные – у сервера свои правила интерпретации относительных путей, поэтому вы можете не понять друг друга;
  • всегда используйте прямые слеши, а не обратные (т.е., «c:/apache» вместо «c:\apache»).

Итак, откройте файл Apache24\conf\httpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.

Первой идёт директива ServerRoot – это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.

Значение по умолчанию устанавливается двумя директивами:

Первая директива присваивает значение переменной SRVROOT, которое по умолчанию «c:/Apache24». Вторая директива присваивает значение переменной $ настройке ServerRoot.

ServerRoot — это та папка, в которой находятся все файлы веб-сервера – поменяйте значение на то, куда вы распаковали файлы веб-сервера. Это можно сделать используя конструкцию из двух переменных:

Либо если вы не планируете снова использовать переменную $ (а она по умолчанию используется далее!), то можно сократить запись из двух строк до одной строки:

Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:

Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:

Можно указать несколько портов:

Или несколько IP и портов:

Вы можете использовать любые сочетания, главное правило – порт на указанном интерфейсе (IP) не должен быть занят другой программой.

Значение по умолчанию вполне подходит для локального веб-сервера – т.е. здесь можно просто ничего не менять.

Далее идёт большой список модулей. Некоторые их них отключены (строки закомментированы, т.е. начинаются с #), а некоторые включены.

На самом деле, всё действительно необходимое уже включено – и для работы большинства веб-сайтов менять ничего не нужно – особенно на локальном веб-сервере. Но есть одно исключение – модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:

и раскомментировать её, т.е. заменить на:

Директива ServerAdmin содержит e-mail администратора, этот адрес электронной почты пишется на некоторых страницах веб-сервера, которые автоматически генерируются в случае возникновения ошибок. Подразумеваются, что по этому адресу можно связаться с администратором.

Директива ServerName – это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку

запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).

Далее идёт довольно объёмная конструкция, но если удалить из неё комментарии, то получается следующее:

DocumentRoot – это директория, где по умолчанию находятся сайты. По умолчанию именно там ищутся все пришедшие на веб-сервер запросы. Укажите здесь путь до корневой папки в веб-документами. Конечный слэш писать не нужно.

Конструкция нам уже встречалась. Но здесь указывается конкретная папка, для который делаются настройки. Эти настройки перезаписывают общие, которые указаны ранее.

Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!

Обратите внимание, что для установки настроек вновь используется переменная $ , значение которой было присвоено в самом начале. Если использовать синтаксис с $ , то корневая папка документов должна обязательно находится в корневой папке сервера. Я настраиваю сервер по-другому — у меня исполнимые файлы отделены от файлов сайтов, поэтому вместо переменной, можно просто прописать пути до нужной папки с сайтами:

Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks. Первая (Indexes) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.

Читайте также:  Ati x1300 drivers windows 10

Вторая опция (FollowSymLinks) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.

Директива AllowOverride установлена на None, это означает запрет использовать файлы .htaccess. На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite, ограничения доступа), поэтому я заменяю её значение на All, получается так:

А директива Require all granted открывает посетителям доступ для веб-документов.

Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:

Там всего один файл — index.html. Можно дописать любое количество своих собственных. Я меняю:

Другие настройки обычно не требуется менять для локального веб-сервера.

Настройка связки Apache + PHP + MySQL + phpMyAdmin

Данное описание подходит для любой редакции Windows 7/8/8.1.

Установка веб-сервера Apache

Первым делом скачаем дистрибутив Apache с сайта: http://www.apachelounge.com/download/. В списке дистрибутивов Apache 2.4 binaries VC11, нам нужно скачать «httpd-2.4.7-win64-VC11.zip».

После того как скачали, открываем архив httpd-2.4.7-win64-VC11.zip

Извлекаем из него папку Apache24 в раздел диска C:\

Теперь нам необходимо немного поправить конфиг, прежде чем устанавливать Apache. Открываем файл httpd.conf (находится здесь: C:\Apache24\conf) желательно через удобный редактор, например notepad++. Находим строку (217) ServerName www.example.com:80 и меняем на ServerName localhost:80

Далее нам необходимо установить Apache используя командную строку. Нажимаем Пуск → Выполнить, вводим команду cmd и нажимаем OK. У нас должно открыться окно командной строки

Здесь нам необходимо указать полный путь к файлу httpd.exe, который находится в папке Apache. В нашем случае это C:\Apache24\bin\httpd.exe. Набираем команду C:\Apache24\bin\httpd.exe -k install и жмем Enter.

Если при выполнении программы у вас возникает следующая ошибка: failed to open the winnt service manager perhaps you forgot to log in as administrator, заходим в следующую папку: C:\Users\Здесь_имя_вашего_пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools, запускаем командную строку от имени администратора

И повторяем команду установки.

Установка завершена. Откройте директорию bin (полный путь: C:\Apache24\bin\) и запустите файл: ApacheMonitor.exe. В системном трее появится значок Apache, с помощью которого можно быстро запускать/останавливать службу Apache, жмем start (запуск):

Теперь проверим работоспособность. Открываем браузер, и в адресной строке пишем http://localhost/ (можно просто localhost). Если установка выполнилась успешно, должна открыться страница с надписью It works!

Установка PHP (ручная)

Нужен ли нам Apache без PHP? Конечно нет, это нонсенс! Поэтому далее мы рассмотрим ручную (без использования инсталлятора) установку PHP.

Скачиваем PHP (Zip архив) с сайта: http://windows.php.net/download/. Нам нужна версия: VC11 x64 Thread Safe.

Содержимое архива распаковываем в директорию C:\PHP (папку PHP создаём сами). Далее в папке C:\PHP находим два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основная разница в настройках: для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Сделаем кое что, прежде чем продолжить установку PHP. Открываем Панель управления → оформление и персонализация → параметры папок → вкладка Вид, находим строку «Скрывать расширения для зарегистрированных типов файлов», и если там стоит галочка, убираем ее и нажимаем «Применить».

Продолжаем установку. И так, выбираем нужный вам файл (я выбрал php.ini-development). Выбранный файл нужно будет просто немного переименовать. Правый клик по файлу → Переименовать → стираем «-development», оставляя только php.ini

Теперь открываем php.ini, нам необходимо внести несколько изменений (будьте внимательны при внесении изменений, если в начале строки стоит точка с запятой, ее надо будет убрать):

  1. Найти опцию extension_dir (строка 721) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так:
    extension_dir = «C:\PHP\ext»
  2. Найти опцию upload_tmp_dir (строка 791). Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе:
    upload_tmp_dir = «C:\Windows\Temp»
  3. Найти опцию session.save_path (строка 1369). Здесь также требуется указать путь к временной папке:
    session.save_path = «C:\Windows\Temp»
  4. В разделе Dynamic Extensions необходимо раскомментировать несколько строк (убрать точку с запятой в начале), соответствующих модулям PHP, которые могут понадобиться для работы: 866, 873, 874, 876, 886, 895, 900

Сохраняем изменения и закрываем.

Теперь вернемся к настройкам Apache. Нам придется немного отредактировать конфиг Apache. Заходим в папку C:\Apache24\conf и открываем файл httpd.conf.

Читайте также:  Select boot options windows

Переходим в конец файла и в самом низу добавляем следующие строчки:

Путь к папке php указываете тот, который вы выбрали в процессе установки (если вы устанавливали в другую директорию).

В этом же файле находим следующие строки (строки примерно 274-276):

Перед index.html дописываем через пробел index.php. В итоге получается:

Чтобы изменения вступили в силу, перезапускаем службу Apache (значок в трее — Apache monitor). Если служба перезапустится — это хороший знак. Если нет (выскочит ошибка) — ищите ошибки в конфигурационных файлах. Особенно внимательно проверьте все пути.

Чтобы нам убедиться в работоспособности PHP, откройте папку C:\Apache24\htdocs (здесь содержатся файлы веб-сайта по умолчанию). Создайте в этой папке файл index.php со следующим содержанием:

Теперь откройте в браузере http://localhost/ (или просто localhost). Если все прошло нормально, вы увидите похожую страницу:

Если у вас вместо страницы с инфомацией о php открылась страница с надписью «It works!», тогда просто нажмите обновить страницу.

Установка MySQL

Открываем страницу загрузки дистрибутива: http://dev.mysql.com/downloads/installer/5.6.html и скачиваем Windows (x86, 32-bit), MSI Installer 5.6.16 250.8M. После нажатия на кнопку Download вы увидите форму для регистрации, ее можно пропустить нажав на ссылку внизу (» No thanks, just start my download!).

Запускаем установщик, после небольшой загрузки видим следующее окно:

Нажимаем Install MySQL Products, появляется следующее окно, в котором мы принимаем лицензионное соглашение (ставим галочку) и жмем Next >

Следующее окно нам предлагает проверить, есть ли более новая версия MySQL, ставим галочку Skip. (пропустить) и нажимаем Next >

В следующем окне нам предлагают выбрать тип установки, выбираем Custom и жмем Next >:

В следующем окне нам предоставляется возможность выбратьнеобходимые компоненты: убираем галочку с MySQL Connectors, в Application убираем галочку с MySQL Workbench CE 6.0.8 и MySQL Notifier 1.1.5, в MySQL Server 5.6.16 убираем галочки с Development Components и Client C API library (shared) и жмем Next >

Далее нам пишут, что ничего дополнительно нам устанавливать не нужно и мы можем приступить к установке, просто жмем Next >

Следующее окно нам сообщает что именно будет установлено, просто нажимаем Execute

После успешной установки жмем Next >

Вследующем окно нам сообщается о том, что далее мы немного настроим наш сервер, жмем Next >

В первом окне настрокйки, устанавливаем галочку Show Advanced Options, остальное оставляем как есть и жмем Next >

В следующем окне нам предлагается установить пароль администратора (root). Этот пароль лучше не терять! Устанавливаем пароль и жмем Next >

В следующем окне стираем в поле ввода цифры 56, остальное оставляем как есть и жмем Next >

Осталось проверить успешно ли прошла установка. (win 8): Заходим в меню пуск → переходим к приложениям (стрелочка вниз) → находим MySQL5.6 Command Line Client (терминал для работы с MySQL в командной строке) → открываем его. Далее вводим пароль администратора (root). Если пароль правильный, вы попадете в командную строку ( mysql> ). Введите команду: show databases; (точка с запятой на конце обязательна). В результате вы должны увидеть список баз данных (как минимум две — information_schema и mysql). Это означает, что сервер работает правильно. Закрываем командную строку выполнив команду exit.

Добавьте в файл C:\Windows\System32\drivers\etc\hosts строчку: 127.0.0.1 localhost. В этом же файле удалите или закомментируйте (поставить знак # в начале строки) строку ::1 localhost (если она изначально закомментирована, то не надо ничего с ней делать).

Установка и базовая настройка phpMyAdmin

Открываем страницу загрузки http://www.phpmyadmin.net/home_page/downloads.php и выбираем для скачивания архив оканчивающийся на *all-languages.7z или *all-languages.zip (на момент написания статьи последняя версия была phpMyAdmin 4.1.9). Создаем папку phpmyadmin в C:\Apache24\htdocs и извлекаем туда файлы скаченного архива.

Проверим как оно работает. Открываем браузер и переходим по адресу http://localhost/phpmyadmin/. Должно открыться такое окно:

Теперь нам необходимо создать конфигурационный файл для MySQL. Заходим в папку phpmyadmin и создаем там папку config. Открываем в браузере следующий адрес: http://localhost/phpmyadmin/setup/

Теперь, чтобы настроить параметры подключения к MySQL, нажимаем на кнопку «Новый сервер», нам открывается новое окно, в графе «Хост сервера» localhost необходимо заменить на 127.0.0.1:

Сохраняем настройки (жмем Apply) и нас автоматически вернут на предыдущую страницу. Выбираем язык по умолчанию — Русский, сервер по умолчанию — 127.0.0.1, конец строки — Windows. Внизу нажимаем Сохранить и затем Скачать.

Оцените статью