Поддержка IIS для PHP

RedDeveloper
06.03.2023 22:11
Поддержка IIS для PHP

Установите последнюю версию PHP (8.2)

Эта версия PHP требует наличия C++ Redistributable для VS 2019 (как минимум)

Microsoft Visual C++ Redistributable for Visual Studio 2022

Скачать для соответствующей ОС.

Вы также можете использовать эту ссылку:

Последние поддерживаемые загрузки Visual C++ Redistributable

Загрузите соответствующую ОС и используйте Non Thread Safe.

Загрузите соответствующую ОС и используйте Non Thread Safe

Скачать PHP

Распакуйте его в папку "c:/php":

Распакуйте его в папку "c/php"

Проверка установки PHP

Проверьте установку, открыв командную строку и изменив каталог на "c:/php"

Проверьте установку открыв командную строку и изменив каталог на "c/php"
Microsoft Windows [Version 10.0.17763.3770]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\azureuser>cd C:\php
C:\php>php.exe --version
PHP 8.2.1 (cli) (built: Jan 3 2023 23:36:33) (NTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies

Конфигурация IIS

Конфигурация CGI

Нам нужен модуль CGI.

Если вы устанавливаете IIS впервые, вы можете использовать следующую команду:

Install-WindowsFeature -name Web-WebServer, Web-CGI -IncludeManagementTools

Мы должны указать IIS, где находится CGI для файлов '.php'. Весь PHP-код будет выполняться этим CGI.

  1. Откройте IIS Manager, выберите имя хоста вашего компьютера в панели Connections, а затем дважды щелкните Handler Mappings.
  2. На панели Действия нажмите Добавить сопоставление модулей.
  3. В поле Request path введите "*.php".
  4. В меню Module выберите FastCgiModule.
  5. В поле Executable введите полный путь к Php-cgi.exe, например, C:\PHP\Php-cgi.exe.
  6. В поле Имя введите имя для отображения модуля, например FastCGI.
    Нажмите OK.
Мы должны указать IIS где находится CGI для файлов 'php' Весь PHP-код будет выполняться
Мы должны указать IIS где находится CGI для файлов 'php' Весь PHP-код будет выполняться

Конфигурация документа по умолчанию

Добавьте "index.php" и "default.php" в модуль "Default Document". Таким образом, если кто-либо посетит

"localhost/wordpress", если там есть файл с одним из этих имен, он будет автоматически обслуживаться.

  1. Выберите имя хоста вашего компьютера в панели Connections и дважды щелкните Default Document.
  2. На панели Действия нажмите Добавить. Введите Index.php в поле Имя, а затем нажмите OK.
  3. Снова нажмите Добавить. Введите Default.php в поле Имя, а затем нажмите OK.
"localhost/wordpress" если там есть файл с одним из этих имен он будет автоматически

Расширение PHP Manager

Расширение PHP Manager помогает нам настроить IIS для PHP.

PHP Manager

Перед использованием нам нужно убедиться, что у нас есть этот файл. Давайте перейдем туда, куда мы разархивировали содержимое PHP. В нашем случае C:/php

Сделайте копию "php.ini-production", просто чтобы иметь ее.

Переименуйте "php.ini-production" => "php.ini"

Переименуйте "phpini-production" => "phpini"

Закройте IIS Manager и откройте его снова, теперь вы должны увидеть новую иконку:

Закройте IIS Manager и откройте его снова теперь вы должны увидеть новую иконку

Откройте модуль и "Посмотреть рекомендации"

Откройте модуль и "Посмотреть рекомендации"

Вы можете установить все флажки, я собираюсь установить следующие:

Вы можете установить все флажки я собираюсь установить следующие

Расширение WinCache [Необязательно]

Windows Cache Extension for PHP - это ускоритель PHP, который используется для значительного увеличения скорости работы PHP-приложений, запущенных в операционной системе Windows®.

Скачать WinCache Extension for PHP

Распакуйте файлы в папку "C:\php\ext":

Распакуйте файлы в папку "C\php\ext"

Включите расширение в "php.ini"

Включите расширение в "phpini"

Переменные окружения [Необязательно]

Откройте Переменные окружения

Откройте Переменные окружения

Добавьте путь, где находится php.

В моем случае "C:\php":

В моем случае "C\php"

Тестирование PHP внутри IIS

1. Откройте текстовый редактор, например, Блокнот, от имени Администратора.

2. В новом файле введите следующий текст:

 <?php phpinfo(); ?>

3. Сохраните файл как C:\inetpub\wwwroot\Phpinfo.php.

4. Откройте браузер и введите следующий URL:

http://localhost/phpinfo.php .

На экране появится красиво оформленная веб-страница с текущими настройками PHP.

На экране появится красиво оформленная веб-страница с текущими настройками PHP

Ресурсы

  • https://visualstudio.microsoft.com/downloads/#other-family
  • https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
  • https://www.php.net/downloads.php
  • https://www.iis.net/downloads/community/2018/05/php-manager-150-for-iis-10
  • https://sourceforge.net/projects/wincache/
  • Настройка веб-сайта PHP на IIS | Microsoft Learn
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2026-2027 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.