Motivation:
You want to understand how PHP works with IIS.
You want to prepare a PHP or WordPress development environment in Windows.
You want to update PHP to any version to address compatibility or security issues in Windows.
You may use Microsoft Web Platform Installer to install PHP for IIS. However the tool may restrict you from using only the supported versions.
Solution:
- Install CGI for IIS on Turn Windows features on or off > Internet Information Services > World Wide Web Services > Application Development Features > CGI.
- Download VS16 x64 Non Thread Safe package under PHP 8.1 section on https://windows.php.net/download/.
- Extract the ZIP file to C:\Program Files\php-8.1.10-nts-Win32-vs16-x64 folder.
- Download the cacert.pem file and move it to the C:\Program Files\php-8.1.10-nts-Win32-vs16-x64\extras\ssl folder.
- Copy the php-.ini-development file to php.ini.
- Open the php.ini file and uncomment the following lines
fastcgi.impersonate = 1; cgi.fix_pathinfo=1; cgi.force_redirect = 1 (and change the value to 0, i.e. cgi.force_redirect = 0) extension_dir = "C:\Program Files\php-8.1.10-nts-Win32-vs16-x64\ext" extension=curl extension=fileinfo extension=gd extension=gettext extension=mbstring extension=exif ; Must be after mbstring as it depends on it extension=mysqli extension=openssl extension=pdo_mysql error_log = "C:\Program Files\php-8.1.10-nts-Win32-vs16-x64\php_errors.log" error_log = syslog curl.cainfo = "C:\Program Files\php-8.1.10-nts-Win32-vs16-x64\extras\ssl\cacert.pem" openssl.capath="C:\Program Files\php-8.1.10-nts-Win32-vs16-x64\extras\ssl\cacert.pem"
- Add C:\Program Files\php-8.1.10-nts-Win32-vs16-x64 to SYSTEM PATH.
- Restart your machine.
- Open cmd and execute the command below to ensure that the PHP file can be found in the SYSTEM PATH.
php --version
- Open IIS, click on Server name, double click on Handler Mappings > Add Module Mapping with below information
Request path = *.php Module = FastCgiModule Executable = "C:\Program Files\php-8.1.10-nts-Win32-vs16-x64\php-cgi.exe" Name = PHP 8.1 Request Restrictions = File or folder
- Create phpinfo.php file with below content in the root website folder.
<?php
phpinfo();
?>
- Open http://localhost/phpinfo.php URL and verify PHP information.
(Visited 7,351 times, 1 visits today)