Iis php mysql windows 10

Опубликовано:

Используемые термины: IIS, PHP, MySQL.

Чаще всего, PHP и MySQL устанавливается на серверы с Linux. Однако, при необходимости, можно настроить запуск и обработку PHP скриптов на Windows. Версии последней могут быть разные, например, Server 2008/2012/2016/2019 или не серверные системы, такие как, 7/8/10. Данная инструкция подойдет как для чайника, так и опытного специалиста (в качестве шпаргалки).

Устанавливаем IIS
Публикация сайта для PHP
Работаем с PHP
    Устанавливаем
    Настраиваем IIS + PHP
    PHP Manager для управления
Установка MySQL

Установка IIS

Для установки веб-сервера, открываем Диспетчер серверов — переходим в УправлениеДобавить роли и компоненты:

Если откроется окно с приветствием, нажимаем Далее:

Вступление перед установкой ролей и служб

При выборе типа установки выбираем Установка ролей или компонентов:

Выбор типа установки

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

Выбор целевого сервера

Среди ролей выбираем Веб-сервер (IIS) — во всплывающем окне кликаем по Добавить компоненты:

Выбор ролей сервера

Также среди ролей в подразделе «Разработка приложений» ставим галочку для установки CGI — этот компонент нам нужен для работы PHP:

Установка CGI

При выборе компонентов ничего не меняем — нажимаем Далее:

Выбор компонентов

Откроется окно настройки роли веб-сервера — просто нажимаем Далее:

Роль веб-сервера

Выбор служб ролей — нажимаем далее или, при необходимости, выбираем FTP-сервер:

Выбор служб ролей

В следующем окне ставим галочку Автоматический перезапуск конечного сервера, если требуется и кликаем по Установить:

Подтверждение компонентов установки

Дожидаемся окончания процесса установки.

Сразу после установки IIS запускается автоматически. Но, если что, его можно запустить с помощью команды iisreset:

iisreset /start

* если выполнить данную команду без опций, то она перезапустить веб-сервер.

Также мы можем открыть диспетчер служб (команда services.msc) и перезапустить Службу веб-публикаций:

Служба веб-публикаций

Открываем браузер и вводим адрес http://localhost — должен открыться стартовый портал:

Проверка загрузки стартового сайта

Развертывание отдельного сайта

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

Открываем Диспетчер серверов — кликаем по СредстваДиспетчер служб IIS:

Запуск диспетчера служб IIS

Находим раздел сайты — кликаем правой кнопкой мыши по Добавить веб-сайт…:

Добавление нового сайта в IIS

Заполняем данные для нового сайта:

Данные для нового сайта

* где:

  • Имя сайта — произвольно имя будущего сайта.
  • Физический путь — путь до папки на сервере, где будут расположены файлы сайта.
  • Тип — тип соединения (http или https). Для первого запуска обойдемся http. При необходимости, его можно всегда поменять или использовать оба типа одновременно.
  • IP-адрес — если на сервере много IP-адресов, то мы можем выбрать конкретный, на котором будет работать сайт.
  • Порт — сетевой порт, на котором будет работать сайт. Как правило, это 80 для http или 443 для https.
  • Имя узла — доменное имя сайта, при обращении по которому должен открываться создаваемый сайт.

После заходим в каталог с сайтом (в нашем примере, это C:\inetpub\wwwroot\php) и создадим в нем файл index.html со следующим содержимым:

<h1>Hello from PHP site</h1>

Открываем браузер и переходим на созданный сайт, например, как в нашей инструкции — http://php.dmosk.ru. Мы должны увидеть страницу с написанным нами текстом:

Загрузка тестовой страницы

Тестовый сайт создан.

PHP

Установка PHP

Для установки php на Windows переходим на страницу загрузки PHP — выбираем нужную нам версию, например, последнюю стабильную и переходим по ссылке для загрузки версии для Windows:

Переходим к загрузке PHP для Windows

Откроется страница с несколькими версиями пакета — там как мы ставим PHP как FastCGI, нам нужна версия «Non Thread Safe» (не потокобезопасная), так как она будет работать быстрее. И так, скачиваем zip-архив на сервер:

Загрузка PHP-архива zip для Windows

Для установка PHP на Windows достаточно просто распаковать содержимое архива в любой каталог, например, C:\Program Files\PHP:

Распакованные файла из архива PHP

Делаем копию файла php.ini-production и переименовываем его в php.ini:

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

open_basedir = C:\inetpub\wwwroot

cgi.force_redirect = 0

short_open_tag = On

* где open_basedir — директория, в которой будут разрешены PHP-скрипты; cgi.force_redirect — указывает будет ли скрипты обрабатываться при прямом запросе или только при запросе от веб-сервера. В IIS запросы контролируются самим веб-сервером, поэтому опция может оказать обратный эффект; short_open_tag — позволяет использовать короткий вид открывающих тегов для PHP.

Проверяем, что PHP работает. Открываем командную строку Windows — переходим в каталог с установленным PHP:

cd «C:\Program Files\PHP»

Запускаем php с параметром -m:

php -m

Мы должны получить список подключенных модулей:

[PHP Modules]
bcmath
calendar
Core
ctype

Но если мы получим ошибку, связанную с отсутствием файла VCRUNTIME140.dll:

Ошибка при отсутствии файла VCRUNTIME140.dll

… необходимо установить Microsoft Visual C++ Redistributable. Переходим на страницу https://www.microsoft.com/ru-RU/download/details.aspx?id=52685 и скачиваем компонент:

Выбираем версию для загрузки компонента

После загрузки, устанавливаем его на сервер, после чего, снова пробуем вывести на экран модули php:

php -m

Настройка сайта на IIS для работы с PHP

И так, веб-сервер поднят, PHP установлено, сайт работает. Настроим связку IIS + PHP. Открываем панель управления IIS — переходим к созданному сайту и кликаем по Сопоставления обработчиков:

Переход к Сопоставления обработчиков

В меню справа кликаем по Добавить сопоставление модуля:

Переходим к добавлению сопоставления модуля

Заполняем поля:

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

* где:

  • Путь запроса — путь к файлам, при вызове которых действует сопоставление. В данном примере для всех файлов, заканчивающихся на php.
  • Модуль — действующий модуль для обработки запроса.
  • Исполняемый файл — файл, который будет выполнять обработку запроса. В данном примере мы выбрали файл из скачанного и распакованного нами архива PHP.
  • Имя — произвольное имя для сопоставления.

Нажимаем OK и подтверждаем действие. Сопоставление создано.

Теперь заходим в Документ по умолчанию:

Переход к документам по умолчанию

… и добавляем новый документ:

Добавляем файл по умолчанию

* в данном примете мы указываем, что по умолчанию сервер будет искать файл index.php, если таковой не указан явно в запросе.

Открываем в проводнике папку, в которой находятся файлы сайта (в нашем примере, C:\inetpub\wwwroot\php). Создаем файл index.php с содержимым:

Открываем браузер и снова переходим на наш сайт — мы должны увидеть страницу с информацией о php:

phpinfo в браузере

PHP Manager в IIS

Для того, чтобы упростить настройку PHP мы можем установить диспетчер PHP для IIS. Для этого переходим по ссылке https://www.iis.net/downloads/community/category/manage и переходим по ссылке для скачивания стабильной версии php-менеджера:

Скачиваем PHP Manager для IIS

Скачиваем дополнение:

Загрузка дополнения PHP Manager для IIS

Выполняем установку на сервере, запустив загруженный файл. Открываем диспетчер управления IIS — мы должны увидеть PHP Manager:

PHP Manager для IIS

Установка MySQL

MySQL для Windows можно скачать бесплатно. Переходим на страницу https://dev.mysql.com/downloads/mysql/ — выбираем операционную систему Microsoft Windows — кликаем по Go to Download Page:

Выбор операционной системы и переход к загрузке MySQL

На следующей странице выбираем для скачивания mysql-installer-community:

Скачиваем MySQL для Windows

В открывшемся окне кликаем по No thanks, just start my download:

Пропускаем регистрации и скачиваем сервер

Начнется загрузка файла для установки MySQL. Дожидаемся скачивания и запускаем установочный файл — в открывшемся окне выбираем Server only:

Выбираем установку сервера MySQL

В следующем окне кликаем по Execute:

Все готово для установки MySQL на Windows

… и дожидаемся установки СУБД:

Установка MySQL завершена

Откроется окно конфигурации MySQL — нажимаем Next:

Начало настройки MySQL сразу после установки

Выбираем установку одиночного сервера MySQL:

Выбираем вариант установки сервера

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

Сетевые настройки для MySQL

Требуем сложные пароли:

Настройка сложности пароля

Вводим дважды пароль для пользователя root:

Вводим новый пароль для пользователя root

* также, на данном этапе мы можем сразу добавить новых пользователей.

Устанавливаем СУБД как сервис и стартуем его:

Установка MySQL в качестве службы Windows

Настройки готовы для применения — нажимаем Execute:

Все готово для конфигурирования MySQL

Дожидаемся применения настроек и кликаем по Next:

Конфигурирование MySQL завершено

Настройка завершена:

Настройка СУБД завершена

Установка завершена — нажимаем Finish.

Установка MySQl на Windows выполнена успешно

Сервер баз данных готов к использованию.

По умолчанию, PHP поддерживаем mysql — в этом можно убедиться на странице phpinfo, найдя раздел mysqlnd:

mysqlnd должен быть включен в php

Ранее я написал ряд постов (часть 1, часть 2, часть 3) про установку СУБД (системы управления базами данных) «MySQL» версии 8.0 на свой компьютер, который работает под управлением операционной системы «Windows 10». Еще у меня был пост про установку интерпретатора языка программирования PHP (версии 8.1.10) и связь его через интерфейс CGI (FastCGI) с локальным веб-сервером (набором серверов) IIS (там же рассказано о том, как включить IIS в операционной системе «Windows 10», компонентом которой он является; собственно, поэтому версия IIS совпадает с версией операционной системы: IIS версии 10).

Теперь я решил разобраться в том, как из веб-приложений, написанных на языке PHP, работают с СУБД «MySQL», и какие настройки перечисленных программ при этом могут понадобиться.

Очень часто подобный ряд технологий, используемый разработчиками программ, называют «стеком» (от английского слова «stack», которое в данном случае по-русски означает «стопка» или «пачка» или «кипа»). То есть речь идет о «стеке технологий» или «стеке разработки». Я видел множество названий-аббревиатур таких стеков технологий; обычно эти аббревиатуры составляются по первым буквам входящих в них технологий. Например, существуют стеки разработки LAMP, WAMP, MEAN и так далее. Но вы редко встретите аббревиатуру WIMP (Windows, IIS, MySQL, PHP), в частности потому, что английское слово «wimp» означает по-русски «зануда», «слюнтяй», «слабак», «тряпка» и тому подобное. Очевидно, такая аббревиатура вряд ли может служить хорошим названием чего-либо.

Расширения интерпретатора PHP для работы с СУБД «MySQL»

В посте об установке интерпретатора PHP я уже описывал несколько маленьких тестовых скриптов, которые у меня успешно работали в моем браузере «Microsoft Edge» на базе движка «Chromium». Открывал я HTML-страницы с этими скриптами через адрес «localhost» (обеспечивается локальным веб-сервером), введенный в адресную строку браузера. Тексты этих примитивных тестовых скриптов были взяты из руководства по языку PHP на официальном сайте php.net этого языка.

Перейдем на другую страницу этого руководства, посвященную работе с СУБД «MySQL» из скриптов, написанных на языке PHP: «MySQL Drivers and Plugins» («MySQL драйверы и плагины»). Отмечу, что на указанном сайте, кроме оригинала на английском, имеются переводы этого руководства на другие языки. В том числе имеется перевод на русский язык, поэтому выше я дал ссылку на русский вариант в скобках. Я предпочитаю читать в оригинале, потому что большинство переводов технической литературы — низкого качества.

* * *

Как пример, почему удобнее (полезнее) читать в оригинале, возьмем для нашего случая (перевод руководства по языку PHP) перевод фразы «Database Extensions» на русский как «Модули для работы с базами данных» (так переведено по ссылке, указанной выше). В принципе, это не ошибка, нет. Перевод более-менее правильный. Однако, в переводе полностью исчезло упоминание слова «extension».

Почему это слово важно? Дело в том, что после установки интерпретатора PHP его расширения (модули, расширяющие функциональность ядра интерпретатора, в виде динамически подключаемых библиотек, то есть в виде файлов с расширением «.dll») помещены в папку с названием «ext» (сокращение от слова «extensions»). Таким образом, человек, прочитавший руководство в оригинале, может быстро догадаться, в какой папке искать вышеописанные расширения. А человек, прочитавший перевод руководства на русский язык, лишен этого небольшого преимущества (из множества таких маленьких недопониманий может сложиться большое недопонимание).

* * *

Итак, в разделе «MySQL Drivers and Plugins» руководства по языку PHP предлагается работать с СУБД «MySQL» из скрипта на языке PHP с помощью модулей-расширений (extensions) ядра интерпретатора языка PHP. На сегодня там предлагается возможность использования одного из двух расширений: «mysqli» (буква «i» тут означает «improved», так как это расширение — улучшенная версия предыдущего варианта этого расширения) и «PDO_MySQL» (аббревиатура «PDO» расшифровывается как «PHP Data Objects»). Оба варианта имеют свои плюсы и минусы.

Порадовало то, что дополнительно эти расширения загружать из интернета не нужно, они включены в дистрибутив интерпретатора PHP, который я установил ранее. Все расширения, включенные в этот дистрибутив, находятся в папке «ext» внутри папки развернутого из архива дистрибутива (существует и множество других расширений для разных задач, которые не включены в дистрибутив; если они понадобятся, их придется загружать дополнительно). В моем дистрибутиве эта папка содержит 39 модулей-расширений (файлов с расширением «.dll»). Сейчас нас интересуют файлы «php_mysqli.dll» (расширение «mysqli») и «php_pdo_mysql.dll» (расширение «PDO_MySQL»).

В разделе «Choosing an API» (выбор одного из двух предлагаемых расширений, каждое из которых предоставляет программисту API [набор функций, переменных и так далее] для работы с СУБД) руководства предлагается пример тестового кода на языке PHP, показывающий, как можно работать с обоими этими расширениями:

<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);

// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);

Я еще пока плохо знаком с языком PHP, но почти всё мне тут более-менее понятно. У меня возник вопрос, почему нет закрывающего тега PHP ?>. Но, оказывается, так (не писать закрывающий тег PHP) даже рекомендуется делать, если в файле есть только код на языке PHP (нет кода на языке HTML).

В коде выше в каждой из двух секций в первой строке выполняется соединение с сервером СУБД «MySQL». При этом следует указать адрес, по которому будет выполняться связь, имя пользователя, пароль и название нужной базы данных.

После того, как связь с СУБД установлена, во второй строке каждой секции отправляется запрос на языке SQL через СУБД к нужной базе данных. Тут у меня возник вопрос, что такое «DUAL». Как оказалось, это такая таблица-заглушка (вики) с одним столбцом и одной строкой. Сама по себе она не имеет значения. В данном случае, для тестирования успешности выполнения связи с СУБД и обмена данными с нею, мы обращаемся с вышеприведенным в коде запросом к СУБД, а СУБД должна вернуть текстовое сообщение 'Hello, dear MySQL user!'. Если это сообщение отразится на странице в браузере, значит, соединение с СУБД и обмен данными произошли успешно. В противном случае интерпретатор PHP выдаст ошибку, текст которой будет отображен на странице в браузере. Стандарт языка SQL требует обязательного присутствия в запросе SELECT части со словом FROM, а в этой части требуется указать таблицу базы данных. В случае, когда обращение к какой-либо таблице базы данных не требуется (наш случай), приходится использовать таблицу-заглушку DUAL.

В третьей строке каждой секции происходит получение данных (в этом случае — возвращенной строки 'Hello, dear MySQL user!') от СУБД. В четвертой (последней) строке каждой секции полученные данные выводятся на страницу, которая будет отправлена веб-сервером браузеру для отображения в окне браузера.

Я поместил вышеприведенный код в файл «testdb.php» и положил этот файл в папку своего локального сайта (C:\inetpub\wwwroot\). После этого я открыл страницу «localhost/testdb.php» в браузере и получил следующую ошибку:

Fatal error: Uncaught Error: Class «mysqli» not found in C:\inetpub\wwwroot\testdb.php:3 Stack trace: #0 {main} thrown in C:\inetpub\wwwroot\testdb.php on line 3

Как видно из текста ошибки, интерпретатор PHP не нашел класса mysqli, объект которого мы пытаемся создать в строке 3 скрипта. В моем случае причиной этого является то, что хоть нужные модули-расширения присутствуют в дистрибутиве интерпретатора PHP, но они не подключены в работу.

Настройка интерпретатора языка PHP с помощью файла «php.ini»

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

Для ввода настроек интерпретатора PHP используется файл с названием «php.ini». При запуске интерпретатора PHP он ищет этот файл в разных местоположениях. Подробнее про это можно прочесть в разделе «The configuration file» руководства по PHP. По этой ссылке в списке местоположений первым же пунктом идет «SAPI module specific location». В данном случае аббревиатура «SAPI» расшифровывается как «Server Application Programming Interface». Под этой аббревиатурой могут пониматься разные технологии, но в нашем случае — это интерфейс CGI (FastCGI), с помощью которого мы ранее связали веб-сервер IIS с интерпретатором PHP. Под фразой «SAPI module» подразумевается исполняемый файл «php-cgi.exe», который находится в корне папки дистрибутива интерпретатора PHP. Следовательно, файл настроек «php.ini» можно разместить в этой же папке и интерпретатор PHP при запуске должен его обнаружить и загрузить.

Авторы дистрибутива интерпретатора PHP были так добры, что разместили в корневой папке дистрибутива два файла с названиями «php.ini-development» и «php.ini-production». Это файлы-примеры того, каким может быть содержание файла «php.ini». Первый пример содержания «php.ini» предназначен для тех пользователей, которые собираются использовать интерпретатор PHP для разработки (development) приложений на языке PHP. Второй пример предназначен для тех пользователей, которые собираются использовать интерпретатор PHP в рабочей среде (production), обеспечивающей функционирование реального сайта (сайтов).

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

Файлы «php.ini-development» и «php.ini-production» не предполагаются для изменения. Следует скопировать любой из них (который больше вам подходит) и переименовать его в «php.ini». Тогда у вас в файлах «php.ini-development» и «php.ini-production» всегда останется первоначальный вариант настроек, к которому можно будет откатиться в любой момент. Итак, я скопировал файл «php.ini-development» и переименовал полученную копию в «php.ini» (интерпретатор PHP я предполагаю использовать для изучения PHP и экспериментов).

Нужно понимать, что в файлах «php.ini-development» и «php.ini-production» уже введено множество настроек, но часть из них закомментирована символом ; (точка с запятой) в начале закомментированной строки. Во многих случаях не требуется вводить в файл «php.ini», созданный из вышеуказанных файлов-образцов, новые настройки, достаточно найти и раскомментировать нужную строку с настройкой.

В самих файлах «php.ini-development» и «php.ini-production», кстати, в комментариях объясняется, как работать с файлом настроек, а также там описано множество настроек, объяснено, как они работают, даны примеры настроек и интернет-ссылки на разделы в документации по PHP.

Для включения двух описанных выше модулей-расширений интерпретатора PHP в полученном файле «php.ini» я нашел и раскомментировал следующие строки:

...
extension_dir = "ext"
...
extension=mysqli
...
extension=pdo_mysql
...

В настройке extension_dir должен содержаться путь к папке с модулями-расширениями интерпретатора PHP. Вообще тут можно указать и абсолютный путь, но у меня всё работает так, как указано здесь (так это указано и в файле-образце настроек): ext — это название папки с модулями-расширениями интерпретатора PHP. Эта папка у меня находится в корневой папке дистрибутива интерпретатора PHP (то есть в данном случае указан относительный путь к папке, относительно папки дистрибутива).

Настройки extension=mysqli и extension=pdo_mysql, очевидно, подключают в работу соответствующие модули-расширения для работы с СУБД «MySQL». После окончательного выбора одного из этих расширений для работы другое расширение можно будет отключить, закомментировав соответствующую строку в файле настроек «php.ini».

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

Важное замечание. Следует иметь в виду, что файл настроек «php.ini» загружается один раз при запуске интерпретатора PHP. Предположим, веб-сервер IIS уже запущен, приложения PHP работают, но нам понадобилось внести изменение в файл «php.ini», а потом получить эффект этой новой настройки (настроек), влияющий на работу приложений (скриптов) PHP. Если просто внести в файл «php.ini» нужные изменения настроек и сохранить этот файл, то у меня в большинстве случаев новые настройки не оказывают никакого эффекта (иногда оказывают сразу, иногда оказывают через 20-30 минут). Почему?

Дело в том, что простое изменение файла «php.ini» не инициирует его автоматическую загрузку в работу интерпретатором PHP (обновление страницы скрипта на языке PHP в браузере не помогает). Хоть решение тут очевидное, но я тупил над ним несколько дней. Следует перезапустить веб-сервер IIS, это повлечет перезапуск интерпретатора PHP и загрузку измененного файла настроек «php.ini». У меня этот перезапуск выполняется за несколько секунд, после этого измененные настройки сразу вступают в действие.

Перезапуск веб-сервера IIS можно выполнить в окне программы «Диспетчер служб IIS» в меню справа с помощью пункта «Перезапустить»:

Программу «Диспетчер служб IIS» можно открыть из поиска операционной системы (иконка с увеличительным стеклом рядом с кнопкой «Пуск»).

Не перепутайте перезапуск сайта и перезапуск веб-сервера! Нужный веб-сервер или нужный сайт выбираются в окне программы «Диспетчер служб IIS» в меню слева.

Убедиться в том, что интерпретатор PHP загрузил нужный файл с настройками «php.ini» и загрузил его из правильного местоположения, можно с помощью знакомого нам скрипта <?php phpinfo(); ?>, который выводит в окно браузера страницу с огромным количеством информации про интерпретатор PHP и окружение. Ближе к началу этой страницы в таблице с информацией есть строка-пункт «Loaded Configuration File». Если файл с настройками не загружен, то значение этого пункта будет (none). Если файл с настройками загружен, то значение этого пункта будет содержать абсолютный путь к файлу с настройками:

Тестирование

Через программу-клиент «mysql.exe» я создал тестовую базу данных «testdb» (как работать с этой программой, я описывал в отдельном посте).

Первые строки двух секций тестового кода, приведенного выше, я поменял под себя (настоящий пароль я тут не буду указывать, его нужно вставить вместо слова password). Приветствие, которое должно отобразиться в браузере в случае успешного соединения с СУБД, я переписал по-русски:

<?php
// mysqli
$mysqli = new mysqli("localhost", "root", "password", "testdb");
$result = $mysqli->query("SELECT 'Привет, дорогой пользователь MySQL!' AS _message FROM DUAL");
...

// PDO
$pdo = new PDO('mysql:host=localhost;dbname=testdb', 'root', 'password');
$statement = $pdo->query("SELECT ' Привет, дорогой пользователь MySQL!' AS _message FROM DUAL");
...

После этих изменений я открыл этот код, размещенный в файле «testdb.php» на моем локальном сайте, в браузере и получил следующее сообщение об ошибке:

PHP Fatal error:  Uncaught mysqli_sql_exception: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение in C:\inetpub\wwwroot\testdb.php:3
Stack trace:
#0 C:\inetpub\wwwroot\testdb.php(3): mysqli->__construct('localhost', 'root', 'password', 'testdb')
#1 {main}
  thrown in C:\inetpub\wwwroot\testdb.php on line 3

Видно, что часть сообщения об ошибке вывелась кракозябрами (по-английски «mojibake»). Такое получается, когда программа (в данном случае — мой браузер «Microsoft Edge» на базе движка «Chromium») неправильно интерпретирует кодировку текста. В нашем случае интерпретатор PHP вернул сообщение об ошибке в кодировке UTF-8. Веб-сервер IIS передал это сообщение об ошибке без изменения браузеру для отображения в окне браузера. А вот браузер не справился и отобразил переданный ему текст в кодировке «Windows-1252» (так как в сообщении об ошибке есть текст, набранный русскими буквами, этот текст и отобразился кракозябрами).

В современных версиях популярных браузеров на базе движка «Chromium» («Google Chrome», «Microsoft Edge») довольно давно уже убрали возможность вручную указывать кодировку страниц, отображаемых браузером (в старых версиях этих браузеров такая возможность была; также такая возможность до сих пор есть в браузерах, созданных на других движках). Предполагается, что в подавляющем большинстве случаев браузер сумеет автоматически определить кодировку страниц по HTML-элементу meta или по заголовку HTTP-ответа Content-Type. В редких случаях (таких, как наш) авторы браузеров предлагают скачать какое-нибудь подходящее расширение браузера и использовать его (например).

Лично я не люблю устанавливать расширения для браузеров (они часто бывают ненадежны и небезопасны). В этом случае я решил использовать командлет Invoke-WebRequest в программе-оболочке «PowerShell» (как видно из названия, этот командлет отправляет HTTP-запрос на указанный адрес и возвращает HTTP-ответ, то есть, в принципе, делает то же самое, что и браузер). Эта программа-оболочка корректно работает с кодировкой UTF-8. Собственно, она под нее и заточена:

PS C:\> $Response = Invoke-WebRequest -URI "localhost/testdb.php"
Invoke-WebRequest: PHP Fatal error:  Uncaught mysqli_sql_exception: Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение in C:\inetpub\wwwroot\testdb.php:3
Stack trace:
#0 C:\inetpub\wwwroot\testdb.php(3): mysqli->__construct('localhost', 'root', 'password', 'testdb')
#1 {main}
  thrown in C:\inetpub\wwwroot\testdb.php on line 3

Теперь у нас есть исходный текст ошибки. Правда, из него всё равно ничего не понятно. Однако, я знаю, почему эта ошибка случилась: у меня не запущен сервер СУБД «MySQL» (при установке этой программы на мой компьютер я выбрал способ установки сервера СУБД в качестве службы «Windows» с ручным запуском).

Я запустил службу «Windows» с названием «MySQL80» (вообще, это название может быть и другим, его можно поменять при установке СУБД). После этого я снова открыл адрес localhost/testdb.php в своем браузере и получил два требуемых сообщения (по одному на каждое из расширений «mysqli» и «PDO_MySQL») в окне браузера:

Привет, дорогой пользователь MySQL! Привет, дорогой пользователь MySQL!

Таким образом, связь с СУБД «MySQL» из скрипта на языке PHP состоялась.

Содержание

  1. Установка и настройка PHP и MySQL на IIS сервер
  2. Что это такое?
  3. Установка IIS
  4. Установщик веб-платформы
  5. Виртуальный сервер на базе Windows
  6. Настройка PHP и MySQL на IIS
  7. Проверка
  8. Установка IIS в среде Windows 10 + php + mysql
  9. Install and Configure PHP
  10. Install PHP
  11. Windows Installer
  12. Zip File Installation
  13. Extensions
  14. PHP.INI File Settings
  15. Required Settings
  16. Optional Settings
  17. Enable PHP Session State
  18. Установка PHP 7.3.1 на IIS 10
  19. Установка и настройка компоненты PHP для веб-сервера IIS
  20. 0. Оглавление
  21. 1. Установка и настройка веб-сервера IIS
  22. 2. Установка компоненты PHP с помощью программы «Установщик веб-платформы»
  23. 3. Установка компоненты PHP с помощью официального инсталлятора
  24. Смотрите также:

Установка и настройка PHP и MySQL на IIS сервер

Инструкция по установке и настройке IIS, PHP и MySQL на VPS с операционной системой Windows Server.

Что это такое?

Веб-сервер IIS представляет собой встроенную платформу для работы с сайтами на VPS с ОС Windows. Поддерживает настройку большого количества дополнительных модулей и приложений, в том числе PHP и MySQL, являющимися стандартами де-факто.

Аналогом связки является WAMP-стек, в котором вместо IIS используется веб-сервер Apache.

Установка IIS

Подключитесь к виртуальному серверу Windows с правами суперпользователя.

Выберете тип: установка ролей и компонентов.

Выберете сервер из пула и нажмите Далее.

Установщик веб-платформы

Необходимо установить сервис под названием Установщик веб-платформы, с помощью которого будет происходить установка PHP и MySQL. Откройте диспетчер служб IIS как показано на изображении.

В вертикальном меню справа выберете “Получить новые компоненты веб-платформы”.

Вы будете перенаправлены на веб-сайт в браузере по умолчанию. Скачайте данный сервис и установите его.

Примечание: если у вас не получается скачать файл в IE из-за настроек безопасности, необходимо их отключить.

Примечание: чтобы открыть приложение, выберете тот же пункт меню “Получить новые компоненты веб-платформы”.

Виртуальный сервер на базе Windows

Настройка PHP и MySQL на IIS

Зайдите в Установщик веб-платформы, с помощью поиска найдите последнюю доступную версию MySQL и PHP и нажмите Добавить.

Затем установите выбранные приложения.

Перед вами появится окно для ввода пароля для суперпользователя СУБД.

Проверка

Проверить корректность установки на IIS можно следующем образом. В диспетчере служб появится иконка Администратор PHP.

Откройте утилиту и перейдите по ссылке “Проверить phpinfo()”.

В появившемся окне выберете сайт для проверки.

В результате должна отобразиться похожая страница.

Для проверки установки СУБД откройте PowerShell и перейдите в директорию с помощью команды:

cd “C:\Program Files\MySQL\MySQL Server 5.5\bin”

Источник

Установка IIS в среде Windows 10 + php + mysql

До кучи мы туда установим MySQL, PHP препроцессор гипертекста, соединим их вместе, и в добавок поставим phpmyadmin для удобного, удаленного управления нашей базой данных. И так начнем, у нас есть: интернет за NAT сервером с выделенным IP адресом, Windows 10 PRO, не много фантазии и цель все настроить, чтоб работало.

По умолчанию в Windows 10 не включен компонент IIS, начнем с него. Чтоб не таскать Вас по параметрам: Пуск => Панель управления => и т.д. Делаем проще, в windows 10 хороший поиск, сразу вбиваем фразу «Программы и компоненты» и открываем.

Далее включение или отключение компонентов windows.

Далее у нас выскочит информационное окно со структурой компонентов, ищем IIS службы и включаем их.

Стоит отметить, я включил все средства для управления веб-сайтов. Сделано для удобства, чтоб можно было удаленно подключиться к нашему веб серверу с другого ПК, на котором установлен клиент управления IIS. FTP сервер я не стал добавлять, так как (в моем случае) не вижу в этом необходимости. Не много ждем применения изменений (возможно потребуется «подкачать файлы»). Далее через поиск открываем диспетчер IIS.

Стоит отметить, до того как я начал писать данную статью, я уже задал полное FQDN имя компьютера и прописал A запись на DNS сервере, оно тоже работает.

Для удобства корпорация майкрософт сделала веб-установщика (http://www.microsoft.com/web/downloads/platform.aspx), не знаю как многим, но с ним удобней. Качаем, устанавливаем его, и в диспетчере IIS появиться он на главной.

С его помощью мы автоматически установим php, для удобства там есть поиск, где вводим php и устанавливаем нужную нам версию php. Я установил php7.

Там же выбираем нужной нам версии MySQL сервер, задаем пароль root пользователю и принимаем лицензионное соглашение. Загрузчик сам скачает и установит, интегрирует нужные нам версии продуктов.

Источник

Install and Configure PHP

The fastest and easiest way to install PHP on Internet Information Services (IIS) is by using the MicrosoftВ® Web Platform Installer (Web PI). Web PI completely automates setting up IIS, FastCGI, and the latest version of PHP from the php.net Web site. With Web PI, you can navigate to the «Web Platform» tab and select «PHP» under «Framework and Runtimes» customize link. Alternately, use the instructions that follow as guidance for installing PHP with WindowsВ® Installer or using a compressed (Zip) file installation.

There are two builds for each PHP version: one is thread-safe, and one is not (referred to as the non-thread-safe [NTS] version). The thread-safe version is designed for environments where the Web server core can keep the PHP engine in memory, running multiple treads of execution for different Web requests simultaneously. The architecture of IIS and the FastCGI extension provide an isolation model that keeps requests separate, removing the need for a thread-safe version. The NTS version does not have any of the code that allows PHP to manage multiple threads. As a result, there is a performance improvement on IIS when using the NTS version when compared to the tread-safe version because the NTS version avoids unnecessary thread-safety checks (FastCGI ensures a single-threaded execution environment).

Install PHP

There are two main ways to install PHP on a WindowsВ®-based computer: download the Windows Installer or use the Windows Zip file from the PHP Web site. Either method will get PHP working, but both have some extra steps that are needed to make PHP work well.

Windows Installer

The Windows Installer version can get a complete PHP environment up and running, but the installation of extensions can be confusing. By default, no extensions are installed, and this can adversely affect the usefulness of the PHP installation. Alternately, all of the extensions can be installed; this results in an unstable system because some of the extensions can conflict with others. It is generally easier to use the Zip file installation.

Zip File Installation

To use the Zip file installation, follow the instructions in Using FastCGI to Host PHP Applications on IIS 7.0 and Above. The Zip file installation installs many of the extensions that are available for the Windows Installer version; however, none of the extensions are enabled until their entries in the Php.ini file are set up.

Download the latest non-thread-safe Zip file package with binaries of PHP. Under Windows Binaries, click on the most current PHP non-thread-safe Zip package to download the PHP files.

Unpack the files to a directory of your choice (for example, C:\PHP ) on your IIS server.

Rename the Php.ini-recommended to php.ini.

Open the Php.ini file in a text editor, then uncomment and modify settings as follows:

Set fastcgi.impersonate = 1.
FastCGI under IIS supports the ability to impersonate security tokens of the calling client. This allows IIS to define the security context that the request runs under.

Set cgi.fix_pathinfo = 0
The cgi.fix_pathinfo provides PATH_INFO/PATH_TRANSLATED support for Common Gateway Interface (CGI). Setting this to 1 will cause PHP CGI to fix its paths to conform to the specification.

Set cgi.force_redirect = 0.

Set open_basedir to point to a folder or network path where the content of the Web site(s) is located.

Set extension_dir to point to a location where PHP extensions reside. For PHP 5.2.X, this is typically extension_dir = «./ext».

Set error_log=»C:php_errors.log»
This can help with troubleshooting.

Enable the required PHP extension by un-commenting corresponding lines. More information follows in the section, Extensions.

Figure 1 Windows extensions

Click on Start, Settings, Control Panel, and then double-click on the System icon (using the class view).

Click on the Advanced system settings link in the left column.

From the System Properties window, click on the Advanced tab, and then click on the Environment Variables button at the bottom.

Select the Path variable from the System Variables section, and then click on Edit. Add: c:\php to your system path.

Figure 2: Edit System Variable

Click OK until you have exited the System Properties window.

Start IIS Manager by clicking on Start, Programs, Administrative Tools, and then Internet Information Services (IIS) Manager.

From the IIS Manager, click on the hostname of your server in the Connections panel on the left.

Double-click on the Handler Mappings icon.

Figure 3: Internet Information Services (IIS) Manager

From the Handler Mappings Actions panel, click on Add Module Mapping.

Figure 4: Handler Mappings

Type the following information into the appropriate text boxes, and then click OK.

Figure 5: Add Script Map

Click OK, and then c lick Yes.

In the left panel, click on your server’s hostname, and then double-click on the Default Document icon.

From the Actions panel on the right, click Add.

Enter index.php as the new default document name, and then click OK.

Enter default.php as the new default document name, and then click OK.

In the left panel, click on your server’s hostname.

In the Actions panel on the right, click Restart.

Create a new text document, and save it as c:\inetpub\wwwroot\phpinfo.php with the following content:

Figure 6: PHP information page

Extensions

It is important to determine which extensions are needed by the applications that will be running and then to limit the installed extensions to only those. For a typical open-source application installation, for example, the following extensions are installed:

PHP.INI File Settings

The Php.ini file provides PHP with configuration and environmental information. Below are a number of settings for the Php.ini file that help PHP work better with Windows.

Required Settings

Optional Settings

Enable PHP Session State

In WindowsВ® Explorer, create the session subdirectory in the PHP installation directory.

Right-click the session directory, and select Properties.

In the Security tab, click Edit.

Click Add, and enter IIS_IUSRS for Enter the object names to select.

Click OK.

Select the Modify permission check box, and click OK.

Figure 7: Permissions for session folder

Click OK in the Session Properties window.

Open php.ini in the PHP installation directory, and set the session.save_path setting to the session subdirectory:

Save and close the file.

Click Start, and then select Command Prompt.

Type runas /user:administrator cmd.exe to enable elevated permissions.

Type iisreset at the command prompt, and then press the ENTER key.

Figure 8: IISRESET command

Note that PHP uses file-based session state by default. You can modify a number of additional session settings, including whether cookie or URL sessions should be used, and whether sessions are created on the first request or need to be explicitly created.

Create a folder and rename it phpapp.

Create session.php in the phpapp directory.

Paste the following into it:

Save and close the file.

Figure 9: Using session state

Observe that the counter is 1.

Request http://localhost/phpapp/session.php again, or press F5.

Figure 10: Using session state

Observe that the counter is 2.

This article uses information from «Using FastCGI to Host PHP Applications on IIS 7.0 and Above» by Ruslan Yakushev, published on December 5, 2007.

Источник

Установка PHP 7.3.1 на IIS 10

Расскажу вам о наиболее оптимальном способе установки PHP на IIS. Ставить будем PHP 7.3.1 на IIS 10. IIS крутится на сервере с Windows Server 2016. Раньше я устанавливал PHP руками, помните, что для Windows нужно выбирать PHP NTS версию.

If you are using PHP as FastCGI with IIS you should use the Non-Thread Safe (NTS) versions of PHP.

Однако, на этот раз я решил последовать совету с официального сайта. На php.net немного коряво написано:

Если вы хотите настроить PHP используя в качестве веб-сервера IIS, то проще всего это сделать используя
Microsoft Web Platform Installer (WebPI).

Нажимаем зелёную кнопку Install this extension и качаем инсталлятор.

Открывается мастер установки WebPI.

Установка завершена, это было несложно. Finish.

Находим в установленных программах Web Platform Installer и запускаем.

Ждём. Открывается окошко.

Обещают установить три модуля:

Полетела установка. Но взлетела не очень высоко.

We’re sorry. The following product have failed to install.

PHP Manager for IIS не поставился, ай-ай-ай, как печально. Зато поставилось куча всего другого, что нам поставить не обещали:

Ладно, если что, лишний PHP удалю потом. Давайте решим вопрос с PHP Manager for IIS. Гуглим ссылочку:

Нажимаем Download this extension.

OK. Запускается мастер установки.

Принимаем лицензионное соглашение, Next.

В IIS появляется новая оснастка под названием PHP Manager.

Внутри не сложно, разобраться можно.

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

Источник

Установка и настройка компоненты PHP для веб-сервера IIS

Для работы с веб-проектами на базе популярных CMS (англ. Content Management System — система управления содержимым), таких как WordPress, Drupal, Joomla и др. необходим компонент, который бы обрабатывал скрипты PHP и преобразовывал бы их в код HTML, понятный браузеру. В данной статье рассмотрим 2 способа установки компоненты PHP на входящий в поставку Windows веб-сервер IIS (Internet Information Services) с помощью программы «Установщик веб-платформы» от компании Mocrosoft и вручную, с помощью официального инсталлятора.

0. Оглавление

1. Установка и настройка веб-сервера IIS

Прежде всего, у вас должен быть установлен веб-сервер IIS. Об установке IIS можно прочитать в статьях:

Кроме того, в процессе установки помимо компонент по умолчанию обязательно должна быть установлена компонента FastCGI. Если же веб-сервер IIS уже установлен, но данная компонента не была выбрана, то это можно сделать и позже. Рассмотрим процесс установки компоненты FastCGI в Winows 8/8.1. Чтобы активировать FastCGI, проходим тот же путь, что и для активации IIS. Кстати, в Windows 8.1 нужный нам раздел панели управления «Программы и компоненты» удобно вынесен в контекстное меню кнопки «Пуск».

В открывшемся окне раздела кликаем «Включение и отключение компонентов Windows».

Раскрываем список «Службы IIS», в нём – «Службы Интернета», далее – «Компоненты разработки приложений». И уже в этом списке ставим галочку возле «CGI». Далее жмём «ОК» и дожидаемся, пока система настроит и применит изменения.

Далее рассмотрим 2 способа установки компоненты PHP на веб-сервер IIS:

2. Установка компоненты PHP с помощью программы «Установщик веб-платформы»

Установщик веб-платформы предоставляет собой небольшую программу, предоставляющую доступ к быстрой установке и настройке всего спектра продуктов, которые могут понадобиться для разработки или развертывания веб-сайтов и веб-приложений на базе платформы Windows. Скачать установщик веб-платформы можно на официальном сайте программы.

После скачивания запускаем инсталлятор и дожидаемся окончания установки. После того, как процесс установки будет завершен, мы попадем в главное окно программы, где можно увидеть огромное количество программ, компонент, сборок и пр. существующих для разработки веб-сайтов и веб-приложений. Необходимая нам компонента PHP также присутствует в данном списке. Найти ее проще всего вбив соответствующий запрос в поле поиска, расположенное в верхнем правом углу окна программы. Затем необходимо нажать кнопку «Добавить» в строке с компонентой требуемой версии (на момент написания статьи, актуальной была версия 5.63)

Данная компонента будет добавлена в список устанавливаемых элементов. Нажимаем «Установить» для установки приложений из этого списка.

Запустится мастер установки, принимаем условия лицензионного соглашения нажав кнопку «Принимаю».

И дожидаемся окончания установки, нажав «Готово» когда мастер закончит работу.

На этом в общем то и все. Компонента PHP успешно установлена. Аналогичным образом можно также добавить компоненту «Диспетчер PHP для IIS» с помощью которой можно будет настраивать компоненты PHP прямо из «Диспетчера служб IIS».

3. Установка компоненты PHP с помощью официального инсталлятора

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

Запускаем инсталлятор PHP и в окне мастера установки жмём «Next».

Соглашаемся с лицензионными условиями. Жмём «Next».

Соглашаемся с путём установки, если нет необходимости его менять. Жмём «Next».

В следующем окне выбираем режим «IIS FastCGI», если текущая операционная система — Windows Server. Если работа происходит в Windows 7, 8, 8.1, выбираем режим «Other CGI». И жмём «Next».

Затем, ничего не меняя, жмём «Next».

Следующий шаг – запуск самой инсталляции. Жмём «Install».

По завершению инсталляции жмём «Finish».

В довесок к самому PHP также установим плагин для его управления в «Диспетчере служб IIS». Плагин PHP Manager for IIS, в соответствии с разрядностью операционной системы, скачиваем с официального сайта.

Запускаем установку плагина. Если на компьютере не установлена программная платформа NET Framework, инсталлятор плагина предложит отправиться на официальный сайт для скачивания её дистрибутива. И только после установки NET Framework и перезагрузки компьютера плагин PHP Manager for IIS захочет устанавливаться без каких-либо проблем. Жмём «Next».

Соглашаемся с лицензионными условиями и жмём снова «Next».

По завершению установки плагина закрываем окно установщика.

Запускаем «Диспетчер служб IIS». Если все действия осуществлены корректно, в «Диспетчере служб IIS» увидим появившийся раздел «Администратор PHP». Заходим сюда двойным щелчком.

Для дальнейшем работы потребуется зарегистрировать компоненту PHP – увидим активной ссылку регистрации новой версии PHP. Жмём её.

В появившемся окошке указываем путь к запрашиваемому исполняемому файлу и нажимаем «ОК».

Это завершающий этап настройки PHP.

Смотрите также:

IIS (Internet Information Services) – один из немногих штатных инструментов Windows, которым можно пользоваться, не ища более приемлемых альтернатив от других разработчиков. Веб-сервер IIS с поддержкой языка PHP можно использовать…

Раннее я уже писал об установке сервера хранилища конфигураций в системе «1С:Предприятия» 8. В данной статье рассмотрим процесс публикации сервера хранилища конфигураций на веб-сервере IIS для возможности доступа к хранилищам, обслуживаемым…

Веб-сервер представляет собой некоторую программу (службу), принимающую HTTP-запросы от клиентов, обычно от веб-браузеров, обрабатывающую данные запросы и выдающую им ответ, как правило, вместе с HTLM-страницей (сайтом), изображением, файлом, медиа-потоком или другими данными. Ниже подробно рассмотрим…

Источник

16 Авг 16 написал kurbatov в LAN, MySQL, Technology, windows 10

Для каждого не секрет, что работа в определенной среде операционной системы для каждого веб-мастера важно. На это есть очень много объяснений: кто-то ставит Debian, кто-то Centos или любую другую подобную из семейства *nix.  Ну, а я сегодня хочу рассказать на живом примере установку IIS (Inrenet Information Service) на примере Windows 10. 

До кучи мы туда установим MySQL, PHP препроцессор гипертекста, соединим их вместе, и в добавок поставим phpmyadmin для удобного, удаленного управления нашей базой данных. И так начнем, у нас есть: интернет за NAT сервером с выделенным IP адресом, Windows 10 PRO, не много фантазии и цель все настроить, чтоб работало.

По умолчанию в Windows 10 не включен компонент IIS, начнем с него. Чтоб не таскать Вас по параметрам: Пуск => Панель управления => и т.д. Делаем проще, в windows 10 хороший поиск, сразу вбиваем фразу «Программы и компоненты» и открываем.

Далее включение или отключение компонентов windows.

Далее у нас выскочит информационное окно со структурой компонентов, ищем IIS службы и включаем их.

win3

Стоит отметить, я включил все средства для управления веб-сайтов. Сделано для удобства, чтоб можно было удаленно подключиться к нашему веб серверу с другого ПК, на котором установлен клиент управления IIS.  FTP сервер я не стал добавлять, так как (в моем случае) не вижу в этом необходимости. Не много ждем применения изменений (возможно потребуется «подкачать файлы»). Далее через поиск открываем диспетчер IIS.

win4

Проверяем наше веб-сервер: http://localhost/ , как видим все работает.

win5

Стоит отметить, до того как я начал писать данную статью, я уже задал полное FQDN имя компьютера и прописал A запись на DNS сервере, оно тоже работает.

Для удобства корпорация майкрософт сделала веб-установщика (http://www.microsoft.com/web/downloads/platform.aspx), не знаю как многим, но с ним удобней. Качаем, устанавливаем его, и в диспетчере IIS появиться он на главной.

win6

С его помощью мы автоматически установим php, для удобства там есть поиск, где вводим php и устанавливаем нужную нам версию php. Я установил php7.

Там же выбираем нужной нам версии MySQL сервер, задаем пароль root пользователю и принимаем лицензионное соглашение. Загрузчик сам скачает и установит, интегрирует нужные нам версии продуктов.

Теперь осталось проверить работу всеми любимым phpinfo, создаем файл с текстом закидываем его в любой файл с расширением php. Например ppphpinfo.php

Все готово. Спасибо, что прочитали :)

Вверх

В прошлой своей заметке
я говорил о Piwigo и обещал рассказать об установке и настройке дома. Здесь я не буду рассматривать Windows Server или Linux системы. Впрочем, инструкция применима к Windows Server чуть более, чем полностью.
Определим системные минимальные требования решения:

  • Windows 7 (IIS 7.5)
  • PHP 5.2
  • MySQL 5

Это достаточно древнее программное обеспечение — использовать его мы конечно, не будем. Но и последний MySQL 8 несовместим с Piwigo.

  • Windows 10 (IIS 10)
  • PHP 7.3.0
  • MySQL 5.7.24

Веб-сервер входит в поставку Windows, остается его включить. Для того, что-бы сразу попасть в нужное меню панели управления, в меню выполнить (WIN+R) введем команду:

control appwiz.cpl

Выбираем пункт: включение и отключение компонентов Windows. И включите компоненты, как на снимке ниже.

Alt text

После окончания установки (и перезагрузки) откроем в браузере адрес http://localhost. Должна открыться страница как на снимке ниже. Если всё хорошо, то продолжаем.

Alt text

Установка PHP

PHP поставляется в виде архива, который следует распаковать в Program Files (или в Program Files (x86) в зависимости от разрядности). Переходим по ссылке и скачиваем PHP, соответствующий разрядности операционной системы. Нас интересуют только Non Thread Safe версии. Обратите внимание на версию Visual Studio Compiler — его тоже придется скачать в соответствии с выбранной версией PHP. Ссылки слева на странице.

Alt text

Нам так-же потребуется PHP Manager. Скачать можно у Microsoft
. После установки и распаковки всего вышеперечисленного, открываем панель управления IIS.

InetMgr.exe

Там открываем PHP Manager и регистрируем распакованный PHP.

Должна открыться страница как на скрине ниже:

Alt text

Крайне важно отсутствие любых ошибок на этом этапе. Идем дальше.

Установка MySQL

Нас интересует MySQL Community Server. С официального сайта
качаем инсталлятор для Windows. Качайте веб-инсталлятор — все компоненты нам не нужны.
Выберите ручную установку:

Alt text

Настройте фильтр на показ других релизов:

Alt text

Далее момент, требующий уточнения: нам нужно выбрать MySQL последний из версии 5.х, разрядностью, в соответствии системе. Notifer поможет в управлении службой.
Выбор компонентов:

Alt text

Выберите Development Computer. Это заставит MySQL экономить оперативную память.

Alt text

Задайте очень хороший пароль пользователю root. Создайте нового пользователя с полными правами и хорошим паролем. Разрешите вход только с localhost. Им и пользуйтесь.

Alt text

Установка PHP MyAdmin

PHP MyAdmin — это веб-приложение для управление MySQL сервером. Скачать его можно без рекламы и смс.

Нам нужно определиться с каталогом для хранения сайтов. Я выбрал диск D. не забыдьте добавить разрешения на запись для группы безопасности «IIS_IUSRS». Создадим каталог для Myadmin и распакуем его туда. Откроем Диспетчер IIS

InetMgr.exe

Нам требуется добавить сайт для MyAdmin — в этом ничего сложного нет, всё интуитивно понятно.
Добавление сайта:

Alt text

Не забудьте настроить DNS для работы новых сайтов. Для локального тестирования я добавить записи в файл hosts.

127.0.0.1 myadmin.uhanov.org
127.0.0.1 piwigo.uhanov.org

Откроем в браузере адрес myadmin.uhanov.org. Логин и пароль используем, что создали при установке MySQL.

Alt text

Создание базы данных и назначение прав пользователя

В окне PHP MyAdmin смело нажимаем ссылку создать базу. База будет пустая, о чем нас уведомят.

Alt text

Теперь открываем пункт привилегии и создаем нового пользователя с полными правами на базу. Все данные пользователя записываем.

Настройка Piwigo

Перейдем на сайт piwigo.uhanov.org и укажем все данные, что мы задавали ранее и учетную запись администратора галереи.

Alt text

Установка и настройка завершена.

Alt text

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

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как открыть сетевое обнаружение windows 10
  • Triple glazed windows перевод
  • Очистить журнал событий windows server
  • Windows postgresql create user
  • Клипы на диске windows 95