Php установка на windows 7. Как установить локальный сервер Apache с Php, MySQL, phpMyAdmin на компьютере с Windows

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

Прежде чем продолжить чтение, обратите внимание на то, действительно ли вам необходимо устанавливать и настраивать всё это под Windows?Может быть Вам стоит обратить внимание на и не тратить свое время и нервы на настройку того же самого напрямую в Windows? В любом случае, прочтите статью про . Возможно она сэкономит вам не только время, но и здоровье.

Данная инструкция рассчитана на разработчиков с базовыми знаниями 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. В файле изменяем значение ServerRoot на «d:/USR/apache» (строка 37 ) и значение DocumentRoot Direcroty ) на «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

    Если у Вас возникли проблемы с запуском curl, обратитесь к этой инструкции .

  9. Выполняем в командной строке php -m чтобы просмотреть список подключенных расширений.
  10. Перезапускаем Apache используя ApacheMonitor

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

В htmlAcademy и я работаю на нем наставником. Студентам в рамках интенсива предстоит поднять рабочее окружение и это заметка нацелена упростить эту нелегкую для новичка задачу. Есть разные способы поднятия полноценного LAMP стека, но мы пойдем классическим путем. Настроим все компоненты по отдельности (без применения готовых комбайнов) и начнем с PHP (обязательно будет заметка с рассмотрением готовых сборок LAMP). Поскольку я планирую работать наставникам на интесивах по PHP и дальше, я собираюсь написать подобные инструкции для повторения в других ОС (Linux, macOS). Как говорится, лучше один раз попотеть, но потом всем станет проще. Итак, приступаем.

Загружаем PHP для Windows

Заходим на официальный сайт и загружаем актуальную версию PHP. На момент написания заметки это – 7.1.4 . На странице доступно несколько вариантов дистрибутивов. У меня Windows 7 x64, соответственно я выбираю zip архив с VC14 x64 Thread Safe.

Обратите внимание, для загрузки доступна два варианта дистрибутива: Thread-Safe (TS) и Non-Thread-Safe (NTS) . Выбор зависит от того как вы планируете применять интерпретатор. TS рекомендуется использовать для одного процесса веб-служб (например, настраивая через модуль mod_php для Apache). NTS рекомендуется для применения IIS (Internet Information Service) и альтернативных FastCGI веб-сервером (например, Apache с модулем FastCGI) и командной строки.

Устанавливаем PHP 7.1

Начнем готовить PHP для комфортной работе из командной строки. В предыдущем шаге вы загрузили архив с дистрибутивом PHP. В отличие от большинства программ, PHP поставляется в простом архиве, а не как инсталляционный пакет. Поэтому вам придется самостоятельно извлечь файлы в любую удобную для вас директорию. Я предпочитаю хранить подобные вещи в корне системного диска. Создайте в корне диска «C:» (или любом другом месте) директорию «php» и извлеките в нее содержимое загруженного архива.

В директории появится множество файлов, но нас больше всего интересуют:

  • go-pear.bat – сценарий для установки PEAR. Подробности о PEAR можно почитать в официальной документации .
  • php.exe – позволяет выполнять PHP сценарии из консоли;
  • php-win.exe - позволяет выполнять PHP сценарии без применения консоли;
  • php-cgi.exe – необходим для выполнения PHP кода в режиме FastCGI;
  • php7apache2_4.dll – модуль интеграции с веб-сервером Apache 2.4.X;
  • phpdbg.exe – отладчик;
  • php.ini-development – пример конфигурационного файла PHP для окружения разработчика (development)
  • php.ini-production – пример конфигурационного файла PHP для рабочего окружения (production)

Подключаем конфигурационный файл

Распакованный дистрибутив у нас есть, подключим для него конфигурационный файл. Мы собираемся ставить эксперименты, поэтому в качестве образца возьмем php.ini-development . Сделайте копию этого файла в директорию php (C:\php ) с именем php.ini . ВАЖНО! Делайте именно копию, не простое переименование. За время разработки вам может потребоваться изменять конфигурационный файл и есть все шансы совершить ошибку, которую трудно будет обнаружить.

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

Тестируем PHP из командной строки

На этом шаге, так называемая «установка» завершена. Откройте консоль (cmd.exe , ярлык доступен в меню «Стандартные») и введите команду:

C:\php\php.exe --version

Результат будет примерно таким:

PHP 7.1.4 (cli) (built: Apr 11 2017 19:54:37) (ZTS MSVC14 (Visual C++ 2015) x64) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

Результат подтверждает, что PHP работает. Попробуйте для примера создать новый файл-сценарий (я создал файл “test.php” прямо в корне диска “C:”) и поместить в него текст:

Теперь попробуйте выполнить этот файл и посмотрите результат:

C:\php\php.exe –f test.php

Функция phpinfo() выводит информацию по конфигурации PHP в удобном виде. Об этой функции мы еще поговорим.

Упрощаем обращение к php.exe

PHP готов к работе, но согласитесь, каждый раз вбивать в консоле путь к php интерпретатору довольно неудобно. Чтобы упростить себе жизнь, внесем небольшие изменения в переменные среды. Запустим в панели управления аплет «Система» (или просто нажмем горячую клавишу «Windows + Pause Break» . Затем нажмем на кнопку «Изменить параметры» . В появившемся окне «Свойства системы» , перейдем на закладку «Дополнительно» . Найдите и нажмите на ней кнопку «Переменные среды» .

Находим в списке переменную «PATH» и нажимаем кнопку «Изменить» , появится окно редактирования переменной. В поле «Значение переменной» нам необходимо дописать путь к директории с PHP. Перейдите в самый конец строки и через точку с запятой укажите путь к директории с PHP: C:\php;

Все, нажимайте «Ok». Теперь перезагрузите систему (увы, придется). После перезагрузки Windows, обращаться к PHP можно будет просто: php.Например, чтобы вывести название версии достаточно написать:

Php –version

А чтобы интерпретировать файл test.php, расположенный в корне диска «C:»:

Php –f C:\test.php

Или вовсе запустить встроенный веб-сервер:

Php -t C:\ -S 127.0.0.1:8888 Listening on http://127.0.0.1:8888 Document root is C:\ Press Ctrl-C to quit.

Для тестирования откройте web-браузер попробуйте обратиться на http://127.0.0.1:8888/test.php . Обратите внимание, после параметра –t мы указываем путь к директории, которая станет корневой директорией веб-сервера. Все сценарии, расположенные в этой папке будут доступны для запроса с клиента. У меня на диске «C:» есть один файлик 1.php и именно его я и запрашиваю.

Assoc .php=phpfile ftype phpfile="C:\php\php.ee" -f "%1" -- %~2

Еще немного о переменных окружения

Теперь давайте поговорим о том как PHP будет искать файл настроек конфигурации (вспоминаем, о php.ini ). В документации приведена полная цепочка поиска. Во избежание лишних сложностей, рекомендую сразу добавить в переменные окружения новую – «PHPRC» и в качестве значения указать путь к директории с конфигурационным файлом. У меня конфиг располагается в тоже же директории, что и основные файлы php, следовательно в качестве значения переменной указываю –

«C:\php». После внесения изменения потребуется перезагрузка.

На этом у меня все. Первый часть мануала для новичков готова.

В прошлом существовал большой мануал по тому, как с нуля установить на сервере стек LEMP. К сожалению, данный материал канул в Лету во время переноса статей, а писать его повторно у меня никакого желания так и не появилось.

UPD: Новая версия языка, - PHP 7.3, - .

Релиз стабильной версии 7.2 состоялся в конце ноября. Изменений довольно много , но сейчас не о них. Ниже простой способ, с помощью которого я обновил свой существующий PHP 7.1 FPM до PHP 7.2 FPM .

1. Добавляем репозиторий.

sudo add-apt-repository ppa:ondrej/php sudo apt update

2. Устанавливаем пакеты.

sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm php7.2-gd php7.2-mysql php7.2-curl php7.2-simplexml php7.2-zip

Dpkg -l | grep php | tee packages.txt

Текущие пакеты будут сохранены в packages.txt . После установки новой версии PHP откройте файл и сравните список установленных пакетов.

3. Настройка PHP.

Открываем /etc/php/7.2/fpm/pool.d/www.conf , изменяем значение параметра listen :

Listen = 127.0.0.1:9000

4. Конфигурация NGINX

Если у вас уже был установлен FPM-пакет, изменений делать нет необходимости. Иначе в конфиге сайта добавьте\измените:

Location ~ \.php$ { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; }

5. Удаляем старые файлы PHP.

Если все прошло отлично и php -v утверждает, что вы используете необходимую версию PHP, за ненадобностью удаляем старые файлы командой:

Sudo apt purge php7.1*

5. Ну и всякое.

Не забываем после всех изменений перезапустить сервисы.

Service nginx restart service php7.2-fpm restart

На этом все. Наслаждайтесь новым PHP 7.2:)

Если вы пользователь Linux, то обратитесь к статье " ".

Выход PHP 7

На данный момент доступен PHP 7.0.0 Alpha выпуск 2. В самые ближайшие дни появится первая бета. Ни альфы ни беты не рекомендуются для реальной работы. Но попробовать их на тестовом сервере уже можно.

Тем паче, что изменения PHP7 очень значительны:

  • Увеличение производительности PHP 7 до двух раз по сравнению с PHP 5.6 (вот это да!)
  • Ожидаемая поддержка 64-бит
  • Многие фатальные ошибки теперь Exceptions (исключения)
  • Удаление старых и не поддерживаемых SAPI (программных интерфейсов серверных приложений) и расширений
  • Оператор NULL коалесцирующий (??)
  • Комбинированный оператор сравнения (<=>)
  • Декларация возвращаемого типа
  • Декларация скалярного типа
  • Анонимные классы
Как установить PHP 7 на Windows

PHP любой версии почти всегда ставят в паре с сервером и системой управления базами данных. Если у вас совсем нет сервера, то обратитесь к статье « ». Когда в той статье дойдёте до установки PHP, то возвращайтесь сюда.

Если сервер у вас уже есть, то общие вопросы по обновлению вы найдёте в статье « ».

Особенности установки PHP 7 на Windows

Я ставил на Apache 2.4 VC14. Если вы ещё не обновили сервер, то сделайте это. Ссылки и подробности по этой инструкции.

Для скачивания PHP 7.0 перейдите на

Скрыто от гостей

Все программы всегда скачивайте только с официальных сайтов!

Выберите версию Thread Safe (64-битную или 32-битную как и ваш сервер Apache).

Обязательно нужен Visual C++ Redistributable for Visual Studio 2015 ! Если вы уже обновили сервер Apache, то этому серверу также нужен этот пакет. Т.е. вы уже должны были его установить. Если это не так, то перейдите на

Скрыто от гостей

И скачайте пакет соответствующей битности.

После скачивания установите его.

Если при установке сервера вы пользуетесь , то распакуйте содержимое скаченного архива с PHP в каталог C:ServerbinPHP .

Перейдите в этот каталог, найдите файл php.ini-development и переименуйте его в php.ini .

Откройте этот файл любым текстовым редактором, найдите там строчку

; extension_dir = "ext"

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

Extension_dir = "ext"

Теперь нам нужно включить расширения для PHP, поскольку без них большинство сайтов и скриптов работать не будут. Внимание: на данный момент с некоторыми расширениями не удаётся запустить сервер, поэтому внимательно посмотрите ниже. Найдите группу строк:

;extension=php_bz2.dll ;extension=php_curl.dll ;extension=php_fileinfo.dll ;extension=php_gd2.dll ;extension=php_gettext.dll ;extension=php_gmp.dll ;extension=php_intl.dll ;extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_ldap.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ; Must be after mbstring as it depends on it ;extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_pspell.dll ;extension=php_shmop.dll

И замените их на следующие строки. Обратите внимание, некоторые расширения оставлены отключёнными, поскольку при их включении Apache не запускается!

Extension=php_bz2.dll extension=php_curl.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll extension=php_gmp.dll extension=php_intl.dll extension=php_imap.dll ;extension=php_interbase.dll extension=php_ldap.dll extension=php_mbstring.dll extension=php_exif.dll ; Must be after mbstring as it depends on it extension=php_mysqli.dll ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll extension=php_pgsql.dll ;extension=php_pspell.dll extension=php_shmop.dll

Теперь находим следующую группу строк:

;extension=php_soap.dll ;extension=php_sockets.dll ;extension=php_sqlite3.dll ;extension=php_tidy.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll

Эти расширения можно включить все:

Extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite3.dll extension=php_tidy.dll extension=php_xmlrpc.dll extension=php_xsl.dll

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

Теперь переходим к конфигурационному файлу Apache. У тех, кто ставил по моей инструкции, этот файл здесь C:ServerbinApache24confhttpd.conf

Открываем его любым текстовым редактором. Находим строки, которыми мы подключали PHP 5, и удаляем их.

Для загрузки Windows-дистрибутива PHP 7 следует посетить раздел загрузки бинарных файлов официального сайта РНР . Каждый релиз снабжается четырьмя вариантами:

  • х86 Non Thread Safe - 32-битный CGI-вариант дистрибутива;
  • х86 Thread Safe - 32-битный вариант для установки в качестве модуля Web-сервера;
  • х64 Non Thread Safe - 64-битный CGI-вариант дистрибутива;
  • х64 Thread Safe - 64-битный вариант для установки в качестве модуля Web-сервера.

Вариант Thread Safe предназначен для безопасного выполнения РНР 7 в параллель­ных потоках в рамках одного системного процесса, например, если РНР устанавливается в качестве модуля Web-сервера Apache. Так как мы собираемся использовать встроенный сервер, не имеет значения, какой дистрибутив будет выбран, лучше всего воспользоваться вариантом Non Thread Safe . Последний вариант так же применяется при подключении РНР в качестве внешнего FastCGI-приложения, которое запускается на каждый внешний запрос.

Перед названием дистрибутива может быть помещена одна из аббревиатур VC11, VC14, означающих версии Visual Studio (2012 и 2015, соответственно), при помощи которой был скомпилирован дистрибутив. Для того чтобы успешно запустить про­ект, следует загрузить соответствующий распространяемый пакет Visual C++ для Visual Studio, который содержит необходимые динамические библиотеки:

Внимание!

Необходимы библиотеки именно от английского варианта Visual Studio, русский вари­ант пакета не подойдет.

После загрузки zip-архива его следует распаковать в какую-нибудь папку, напри­мер C:\php .

Убедиться в том, что РНР 7 доступен, можно, запустив командную строку, а затем перейти в папку C:\php при помощи команды

> cd C:\php

Выполнив в командной строке команду php с параметром -v , можно узнать теку­щую версию РНР:

> php -v РНР 7.0.0 (cli) (built: Dec 3 2015 09:31:54) (NTS) Copyright (c) 1997-2015 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

Для того чтобы команда РНР была доступна в любой точке файловой системы, путь к PHP-интерпретатору следует прописать в переменной окружения path .

Для доступа к переменным окружения нужно открыть Панель управления, перейти к разделу Система . Самый быстрый способ добраться до этого пункта - это щелкнуть правой кнопкой мыши по кнопке Пуск и выбрать пункт Система из кон­текстного меню. В операционных системах, предшествующих Windows 8, следует выбрать в меню Пуск пункт Компьютер и в контекстном меню выбрать пункт Свойства . В открывшемся окне Панели управления с активным разделом Система слева щелкнуть по ссылке Дополнительные параметры системы . Затем в окне Свойства системы на вкладке Дополнительно необходимо нажать кнопку Переменные среды . В открывшемся диалоговом окне в разделе Системные перемен­ные следует отыскать переменную окружения path и дополнить ее путем к катало­гу C:\php . Отдельные пути в значении переменной path разделяются точкой с запя­той (в конце всей строки точка с запятой не требуется). После этого команда php будет доступна в любой папке компьютера.