Archive note: This historical article describes old Windows development tools and PHP versions. Statements about versions, currency, popularity and personal use refer to the original period; they are not current installation or security recommendations. Do not install old packages on the basis of this article.
Hello. In this article I will describe using Nginx, which I generally used on servers, in a Windows development environment as well. Nginx was generally installed on Linux servers. When developing on Windows, installing Nginx, integrating PHP and connecting components such as MySQL was quite a struggle. Rather than wrestling with PHP pool configuration, we used quick solutions: Windows packages such as AppServ, WAMP (Windows, Apache, MySQL, PHP) and XAMPP, which helped set up a development environment quickly with Apache, MySQL, phpMyAdmin and Xdebug integration.
The problem was that your local code ran on Apache and your system used .htaccess, while your server ran Nginx. You therefore had to convert .htaccess rules into Nginx location rules. The more complicated the .htaccess file, the harder this became. An alternative was to use a package containing Nginx on Windows as well. Here are the advantages and disadvantages of the systems I used.
WINGINX
The name combines Windows and Nginx. It has a very good configuration management interface for domains and subdomains. You can handle xxx.com on a server, add a project listening at s1.xxx.com:8080, and then use proxy_pass to distribute traffic arriving at xxx.com to s1 as part of a load balancing arrangement. Its local version includes Memcache and PHP 5.4 and 5.6 options. Development had stopped, and there was no PHP 7 version.
WT-Server
A simple, useful program, but weak in subdomain configuration.
WPN-XM
At the time of writing, this was one of the most popular systems; it could even be installed on a server. Its best feature was running tools commonly used with PHP, such as Memcache, Redis, FFmpeg and ImageMagick, with DLL files matching the PHP version. WAMP users know the difficulty: when changing versions, finding working DLL files for additional tools and figuring out whether TS or NTS is required can be frustrating. WPN-XM removed those difficulties. It supported PHP 7 and was current at the time.
I generally used CakePHP as my development framework. WPN-XM worked very well with both CakePHP 2 and CakePHP 3.