Nginx + PHP on Windows

This article shows you how to install and integrate Nginx and PHP on Windows.

Tested

  1. Nginx 1.12.1
  2. PHP 7.1.10
  3. Windows 10

1. Install Nginx + PHP

Basically, just download zip file and extracts it, no installation.

To install Nginx

  1. Visit http://nginx.org/en/download.html
  2. Download nginx/Windows-1.12.2
  3. Extract to C:\nginx-1.12.1

To Install PHP

  1. Visit http://windows.php.net/download/
  2. Download PHP7.1 download VC14 x64 Non Thread Safe
  3. Extract to C:\php7.1.10
Note
This PHP VC14 builds require to have the Visual C++ Redistributable for Visual Studio 2015 installed

2. Integrate Nginx + PHP

Nginx communicates with PHP via php-cgi.exe

2.1 Start PHP at 127.0.0.1:9999

Terminal

c:\php7.1.10>php-cgi.exe -b 127.0.0.1:9999

2.2 Edit Nginx conf file.

C:\nginx-1.12.1\conf\nginx.conf

http {
    include       mime.types;
    default_type  application/octet-stream;

    server {
        listen       80;
        server_name  localhost;

		# Declares here, so that $document_root is able to find php files
		root www;
		
        location / {
            index  index.html index.htm;
        }

		# For PHP files, pass to 127.0.0.1:9999
		location ~ \.php$ {
			fastcgi_pass   127.0.0.1:9999;
			fastcgi_index  index.php;
			fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
			include        fastcgi_params;
		}

    }

}

2.3 Create a C:\nginx-1.12.1\www folder.

2.4 Create a simple PHP file and put it into the www folder.

C:\nginx-1.12.1\www\print.php

<?php
	phpinfo();
?>

2.5 Start Nginx

Terminal

C:\nginx-1.12.1> start nginx

3. Demo

http://localhost/print.php

Done.

References

  1. Nginx official websites
  2. PHP For Windows
  3. PHP-FastCGI on Windows
  4. php-cgi.exe – The application was unable to start correctly
  5. Nginx + PHP – No input file specified

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

avatar
3 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
Dhimas KiranaDerekGhigo Recent comment authors
newest oldest most voted
Dhimas Kirana
Guest
Dhimas Kirana

nice tutorial.. thank you..

Derek
Guest
Derek

does CURL work for you?

Ghigo
Guest
Ghigo

This is nice and all, but php-cgi dies after some requests. Have you ever seen this issue?