Настройка windows server php
Настройка PHP+IIS на Windows Server 2016
Так как веб-сервер входит в службы IIS (Internet Information Services), необходимо предварительно установить роль “Веб-Сервер (IIS)”. Для этого нажмите комбинацию клавиш Win+R для запуска командной строки и введите туда servermanager.
Далее запустить мастер установки ролей и компонентов нажав кнопку “добавить роли и компоненты”.
Выйдет страница приветствия на которой можно просто нажать “вперед”, а также поставить галочку “Пропускать эту страницу по умолчанию”, если вы не хотите постоянно видеть эту страницу при запуске мастера установки ролей и компонентов.
Далее спрашивается на какие сервера устанавливать роли и компоненты. У вас может быть несколько серверов и они могут быть объединены в пул для централизованного управления с одной консоли. Также роль может быть установлена на виртуальный жесткий диск. Выберем интересующий нас сервер и нажмем далее.
На этом этапе необходимо выбрать роль, которую мы желаем установить на выбранный нами на предыдущем шаге сервер. В данном случае это роль “Веб-сервер (IIS)”.
Далее выводится информационное сообщение о том что такое роль iis.
После выбора компонентов выведется финальное предупреждение о том, что роль IIS готова к установке. Нажмите установить. Можно также поставить галочку “Автоматический перезапуск конечного сервера, если требуется” чтобы не перезапускать сервер вручную. Следует иметь ввиду, что нажатие этой галочки перезапускает конечный сервер после установки без дополнительных предупреждений, поэтому используйте ее с осторожностью.
После нажатия кнопки установить запустится процесс установки, можно закрыть это окно нажатием кнопки закрыть. Следует иметь ввиду, что это действие не отменяет процесс установки, а только скрывает текущее окно.
Посмотреть, как идет процесс и сколько их запущено, можно, нажав белый флаг.
В данном случае мы видим что установка уже завершена. Можно приступать к настройке.
Для настройки перейдем в оснастке “диспетчер сервера” во вкладку IIS, выберем сервер и нажмем правую кнопку мыши. Выбираем из него “Диспетчер служб IIS”. Слева в дереве подключений находим наш сервер и разворачиваем его двойным щелчком мыши. Встаем на закладку “Сайты” и видим что сайт по умолчанию уже настроен.
.Для проверки достаточно в проводнике windows набрать http:// после чего должна открыться тестовая страница iis.
Для установки PHP воспользуемся установщик Microsoft Web Platform Installer 5.0 (WPI), скачать который можно по этой ссылке.
Установим сам инсталлятор. Примем лицензионное соглашение и нажмем install.
Теперь запустим его выбрав в главном меню соответствующий пункт.
В правом верхнем углу введем php для поиска необходимого нам компонента.
После этого нажмем кнопку установить внизу страницы.
Согласимся с лицензионными соглашениями нажав кнопку ”Принимаю”.
Начнется загрузка и установка компонентов,
По завершении нажмите кнопку “Готово”. Для проверки cоздадим индексный файл php файл c:\inetpub\wwwroot\index.php выводящий версию php.
Установка и настройка веб-сервера IIS + PHP + MySQL
Чаще всего, PHP и MySQL устанавливается на серверы с Linux. Однако, при необходимости, можно настроить запуск и обработку PHP скриптов на Windows. Версии последней могут быть разные, например, Server 2008/2012/2016/2019 или не серверные системы, такие как, 7/8/10. Данная инструкция подойдет как для чайника, так и опытного специалиста (в качестве шпаргалки).
Установка IIS
Если откроется окно с приветствием, нажимаем Далее:
При выборе типа установки выбираем Установка ролей или компонентов:
При выборе целевого сервера оставляем локальный сервер (или выбираем удаленный, если установка выполняется из удаленной консоли):
Также среди ролей в подразделе «Разработка приложений» ставим галочку для установки CGI — этот компонент нам нужен для работы PHP:
Выбор служб ролей — нажимаем далее или, при необходимости, выбираем FTP-сервер:
В следующем окне ставим галочку Автоматический перезапуск конечного сервера, если требуется и кликаем по Установить:
Дожидаемся окончания процесса установки.
Сразу после установки IIS запускается автоматически. Но, если что, его можно запустить с помощью команды iisreset:
* если выполнить данную команду без опций, то она перезапустить веб-сервер.
Также мы можем открыть диспетчер служб (команда services.msc) и перезапустить Службу веб-публикаций:
Открываем браузер и вводим адрес http://localhost — должен открыться стартовый портал:
Развертывание отдельного сайта
Мы можем пропустить данный пункт, если хотим использовать сайт по умолчанию. Однако, в данной инструкции мы разберем пример, когда для сайта на PHP будет создана отдельная настройка.
Заполняем данные для нового сайта:
После заходим в каталог с сайтом (в нашем примере, это C:\inetpub\wwwroot\php) и создадим в нем файл index.html со следующим содержимым:
Hello from PHP site
Открываем браузер и переходим на созданный сайт, например, как в нашей инструкции — http://php.dmosk.ru. Мы должны увидеть страницу с написанным нами текстом:
Тестовый сайт создан.
Установка PHP
Откроется страница с несколькими версиями пакета — там как мы ставим PHP как FastCGI, нам нужна версия «Non Thread Safe» (не потокобезопасная), так как она будет работать быстрее. И так, скачиваем zip-архив на сервер:
Для установка PHP на Windows достаточно просто распаковать содержимое архива в любой каталог, например, C:\Program Files\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.
cd «C:\Program Files\PHP»
Мы должны получить список подключенных модулей:
[PHP Modules]
bcmath
calendar
Core
ctype
.
Но если мы получим ошибку, связанную с отсутствием файла VCRUNTIME140.dll:
. необходимо установить Microsoft Visual C++ Redistributable. Переходим на страницу https://www.microsoft.com/ru-RU/download/details.aspx?id=52685 и скачиваем компонент:
После загрузки, устанавливаем его на сервер, после чего, снова пробуем вывести на экран модули php:
Настройка сайта на IIS для работы с PHP
В меню справа кликаем по Добавить сопоставление модуля:
Нажимаем OK и подтверждаем действие. Сопоставление создано.
Теперь заходим в Документ по умолчанию:
. и добавляем новый документ:
* в данном примете мы указываем, что по умолчанию сервер будет искать файл index.php, если таковой не указан явно в запросе.
Открываем в проводнике папку, в которой находятся файлы сайта (в нашем примере, C:\inetpub\wwwroot\php). Создаем файл index.php с содержимым:
Открываем браузер и снова переходим на наш сайт — мы должны увидеть страницу с информацией о php:
PHP Manager в IIS
Для того, чтобы упростить настройку PHP мы можем установить диспетчер PHP для IIS. Для этого переходим по ссылке https://www.iis.net/downloads/community/category/manage и переходим по ссылке для скачивания стабильной версии php-менеджера:
Выполняем установку на сервере, запустив загруженный файл. Открываем диспетчер управления IIS — мы должны увидеть PHP Manager:
Установка MySQL
На следующей странице выбираем для скачивания mysql-installer-community:
В открывшемся окне кликаем по No thanks, just start my download:
В следующем окне кликаем по Execute:
. и дожидаемся установки СУБД:
Откроется окно конфигурации MySQL — нажимаем Next:
Выбираем установку одиночного сервера MySQL:
Оставляем все значения по умолчанию для настроек сети:
Требуем сложные пароли:
Вводим дважды пароль для пользователя root:
* также, на данном этапе мы можем сразу добавить новых пользователей.
Устанавливаем СУБД как сервис и стартуем его:
Настройки готовы для применения — нажимаем Execute:
Дожидаемся применения настроек и кликаем по Next:
Установка завершена — нажимаем Finish.
Сервер баз данных готов к использованию.
По умолчанию, PHP поддерживаем mysql — в этом можно убедиться на странице phpinfo, найдя раздел mysqlnd:
Установка в системах Windows
Содержание
Установка PHP в современных операционных системах Microsoft Windows и рекомендуемая конфигурация под распространённые веб-серверы.
Официальные релизы PHP для Windows рекомендованы для использования в промышленной эксплуатации. Однако, вы также можете собрать PHP из исходных кодов. Вам потребуется окружение Visual Studio. Обратитесь к разделу » Пошаговое руководство по сборке для получения более полной информации.
Установка PHP на Azure App Services (он же Microsoft Azure, Windows Azure, или (Windows) Azure Web Apps).
User Contributed Notes 12 notes
If you make changes to your PHP.ini file, consider the following.
(I’m running IIS5 on W2K server. I don’t know about 2K3)
PHP will not «take» the changes until the webserver is restarted, and that doesn’t mean through the MMC. Usually folks just reboot. But you can also use the following commands, for a much faster «turnaround». At a command line prompt, type:
and that will stop the webserver service. Then type:
and that will start the webserver service again. MUCH faster than a reboot, and you can check your changes faster as a result with the old:
in your page somewhere.
I wish I could remember where I read this tip; it isn’t anything I came up with.
You can have multiple versions of PHP running on the same Apache server. I have seen many different solutions pointing at achieving this, but most of them required installing additional instances of Apache, redirecting ports/hosts, etc., which was not satisfying for me.
Finally, I have come up with the simplest solution I’ve seen so far, limited to reconfiguring Apache’s httpd.conf.
Here it is (Apache’s httpd.conf contents):
—————————
# replace with your PHP4 directory
ScriptAlias /php4/ «c:/usr/php4/»
# replace with your PHP5 directory
ScriptAlias /php5/ «c:/usr/php5/»
# populate this for every directory with PHP4 code
Action application/x-httpd-php «/php4/php.exe»
# directory where your PHP4 php.ini file is located at
SetEnv PHPRC «c:/usr/php4»
# remember to put this section below the above
# directory where your PHP5 php.ini file is located at
SetEnv PHPRC «c:/usr/php5»
—————————
This solution is not limited to having only two parallel versions of PHP. You can play with httpd.conf contents to have as many PHP versions configured as you want.
You can also use multiple php.ini configuration files for the same PHP version (but for different DocumentRoot subfolders), which might be useful in some cases.
Remember to put your php.ini files in directories specified in lines «SetEnv PHPRC. «, and make sure that there’s no php.ini files in other directories (such as c:\windows in Windows).
Hope this helps someone.
If you are installing PHP on Vista just go to David Wang’s blog. http://blogs.msdn.com/david.wang/
archive/2006/06/21/HOWTO-Install-and-Run-PHP-on-IIS7-Part-2.aspx
I made the mistake of setting a ‘wildcard application map’ for PHP on a Windows 2003 / IIS 6.0 / PHP ISAPI installation.
This resulted in «No input file specified» errors whenever I tried to load the default page in my site’s directories. I don’t know why this broke things, but it did.
If anyone has the same problem, this may be the cause.
IIS setup: 403 forbidden error.
Despite this, php version 5.1.4 was being loaded. We renamed 5.1.4’s folder and then PHP was not loading at all.
There were no visible references to 5.1.4 in the IIS configuration, but in the file \webConfig.xml, there was a reference to 5.1.4’s isapi under IISFilters.
To fix this problem, we added version 5.2.5’s php5isapi.dll to the ISAPI Filter category for the web site, in the IIS control panel.
I installed by Microsoft Installer, manually, whatever I always received de same error from IIS7.
The IIS7 interface is quite diferent and are not all together like IIS6
The 5.3 version have not any of those files: php5stdll, php5isapi.dll. etc.
The installer puts others files in handlers and I decided to use them as substitutes. Nothing done!
After that, I discovered that installer do not install these files within the sites, but in the root default site configuration of IIS7.
So, I copied the root configuration to my site and them it worked (all others procedures were done e.g. copy php.ini to windows folder)
If you get 404 page not found on Windows/IIS5, have a look at C:\SYSTEM32\INETSRV\URLSCAN
Here’s how to run dual PHP instances with PHP 5.2 and any previous PHP on Windows 2003:
1. Right-click My Computer, go to Advanced tab, and click on Environment Variables.
Add the two installations and their EXT directories to the Path variable. For example, add:
c:\php;c:\php\ext;c:\TMAS\php;c:\tmas\php\ext;
Then, add the newer PHP version’s directory as a variable called PHPRC. For example:
Variable:PHPRC
Value: C:\PHP
Click OK to close the Environment Variables window, and click OK to close System Properties.
2. In registry, under HKEY_LOCAL_MACHINE>SOFTWARE>PHP, add a REG_SZ key called iniFilePath and give it a value
of the directory where the older PHP is installed. For example:
C:\TMAS\PHP
3. In IIS, go to the Web Service Extensions. Add both versions’ ISAPI module separately to the extensions
list, and allow both.
Testing Date: 05.15.09
Background:
For several days now I, as a newbie, have been unsure if I had installed PHP correctly, or not. No matter what I did phpinfo( ) reported «Configuratin File Path» as: “C:\WINDOWS”. I was left to wonder what was wrong.
To help resolve the phpinfo() “issue”, I conducted a series of tests using two scripts:
The first is “test-php-ini-loaded.php”; it is stored in c:\inetpub\wwwroot, and has the following code:
Установка и настройка WEB-сервера IIS, PHP и MySQL на Windows Server 2012
IIS — служба Microsoft Windows, предназначенная для развертывания web-сервера. Служба IIS является отдельной функцией ОС, и изначально она не установлена.
Установка для Windows Server 2012
Устанавливаем и настраиваем службу IIS
Заходим в «Диспетчер серверов», нажимаем на вкладку «Управление» и выбираем «Добавить роли и компоненты».
Откроется «Мастер добавления ролей и компонентов». В разделе «Перед началом работы» ознакомимся с информацией и нажмем кнопку «Далее».
В разделе тип «Тип установки» выбираем «Установка ролей или компонентов» и жмем «Далее»
Ставим флажок на «Выберите сервер из пула серверов», выбираем сервер и нажимаем «Далее».
Отмечаем «Веб-сервер (IIS)».
Появится окно, в нем необходимо нажать «Добавить компоненты». Затем нажимаем «Далее».
После этого откроется информационный раздел «Роль веб-сервера (IIS)», ознакомить с ним и нажмите «Далее».
Открываем «Службы ролей», и в «Разработке приложений» отмечаем все, кроме «Инициализация приложений».
После этого появится надпись об отсутствии исходников. Интернет должен быть включен, нажимаем «Установить», далее установка пройдет в автоматическом режиме.
По окончанию инсталляции настраиваем веб-сервер IIS.
Открываем «Диспетчер серверов» переходим в «IIS» нажимаем «Средства», и из списка выбираем «Диспетчер служб IIS».
Мы видим созданный веб-сайт. Для его просмотра на правой панели нажимаем «Обзор *:80 (http)»
При его просмотре откроется приветственная страница.
Устанавливаем PHP
Для установки PHP потребуется скачать PHP Manager for IIS и необходимую вам версию PHP (рекомендуем 5.6.40).
Скачиваем архив с файлами PHP и распаковываем его в С:\php.
Затем скачиваем и устанавливаем PHP Manage For IIS. Дальше везде кликаем «Next».
По окончанию инсталляции в Диспетчере служб IIS появится иконка «Администратор PHP». Кликаем по ней.
Далее нажимаем «зарегистрировать новую версию PHP».
При регистрации переходим в папку С:\php и выбираем файл «php-cgi.exe».
Проверяем работоспособность РНР. В этой же вкладке кликаем «проверить phpinfo()».
Если при открытии тестовой страницы появилась ошибка «HTTP 500.0 — Internal Server Error», то нужно установить пакет Visual C++ для Visual Studio 2012.
Для этого переходим на сайт Microsoft и скачиваем «Распространяемый пакет Visual C++ для Visual Studio 2012 Обновление 4».
Затем устанавливаем его на сервере и снова нажимаем «проверить phpinfo()».
Устанавливаем MySQL
Скачиваем версию MySQL необходимую для вашего проекта и запускаем установщик.
Читаем лицензионное соглашение, ставим галочку и нажимаем «Next».
Выбираем «Developer Default» и нажимаем «Next».
Затем нажимаем «Execute» и ждем пока установщик проверит конфигурацию, при необходимости загрузит недостающие компоненты, а затем нажмем «Next».
Соглашаемся с лицензией и запускаем установку.
Параметры сети для MySQL сервера оставляем по умолчанию и нажимаем «Next».
Задаем пароль для root пользователя и нажимаем «Next».
Дальнейшие настройки оставляем по умолчанию и и нажимаем «Next».
Присоединяемся к серверу MySQL серверу.
Принимаем настройки и нажимаем «Finish».
Откроется MySQL Workbench нажмем на «Local instance MySQL» и в появившемся окне введем заданный ранее пароль.
Откроется окно управления нашим MySQL-сервером.
Установка модуля rewrite
Скачиваем Модуль переопределения URL-адресов (URLRewriter) 2.0 для IIS с сайта Microsoft.
Запускаем установщик, читаем лицензионное соглашение, ставим галочку о согласии и нажимаем «Установить».
Ждем завершения установки и нажимаем «Готово»
Установка для Windows Server 2019
Установка для Windows Server 2019 не имеет значительных отличий, но при добавлении ролей и компонентов не нужно указывать «.NET Extensibility» 3.5 и «ASP.NET 3.5».
Начни экономить на хостинге сейчас — 14 дней бесплатно!