Looking for the latest version? Download wt-nmp-14.06.exe (49.5 MB)
Name Modified Size Downloads / Week Status
Totals: 4 Items   12.1 kB 10
wt-nmp-14 2014-06-06 367 weekly downloads
extras 2014-05-06 36 weekly downloads
wt-nmp-13 2013-12-14 15 weekly downloads
README.md 2014-06-06 12.1 kB 1010 weekly downloads

WT-NMP - portable Nginx Mysql Php development stack for Windows

A portable, preconfigured, lightweight, fast and stable server stack for developing php mysql applications on windows, based on the excellent webserver Nginx. Just unzip and start developing!

Current Package contains:

  • Nginx web server - 1.7.1
  • Mysql database server - 5.6.19
  • Php scripting language - 5.4.29 & 5.5.13
  • Node.js server-side JavaScript engine
  • HeidiSql.exe mysql database manager
  • WinSCP SFTP client
  • Php Extensions: opcache, xdebug, xcache.
  • MSmtp sendmail smtp client wrapper
  • Composer.phar dependency manager for php
  • Adminer.php web based mysql database manager
  • Reg.php regular expressions tester for both PHP and JavaScript
  • wt-nmp.exe server manager


  • TRULY PORTABLE, you can zip it and take it with you, or you can move it to a different location on your filesystem. Configuration files are updated automatically after you move WT-NMP to a different machine/folder.
  • Easy to upgrade: Download / Unzip / Overwrite!. Backups, configuration files, database data, included libraries and projects are persistent during upgrades (not overwritten).
  • Lightning-fast web server. Optimized for best performance. Preconfigured servers for fast development.
  • Command line tools: mysql client, php console, node consloe, composer , npm,
  • For easy access, all configuration files are stored in one place: WT-NMPconf and all log files are stored in one folder: WT-NMPlog.
  • Multiple PHP Versions and version switcher. Dynamic number of php-cgi processes.
  • The server manager runs minimized in the system tray and monitors, logs and restarts crashed servers.
  • Easy project Upload, Sync and Browse with WinSCP
  • Optional MySQL database daily backups can be enabled with --backup. Up to 7 backup files will be created per database per weekday.
  • Ideal solution for multiple development environments or parallel configurations on a desktop computer. You can have any number of WT-NMP clones on your computer, all pointing to a single projects directory.


Installing Extras:

  • Let`s say you want to use nginx 1.2.x instead of the latest version.
  • Download the extra package
  • Kill All servers
  • Only for Nginx & MySql, delete pathtoWT-NMPbinnginx-x.x.x. For PHP it`s ok to keep multiple versions.
  • Unzip the extra package in pathtoWT-NMP\
  • php-5.5 requires Microsoft Visual C++ Redistributable 2012


Command line arguments:

  • -d --debug Display debug messages
  • -s --startServers Starts all the servers in background and exits
  • -k --killAll Kills all running servers and exits
  • -b --backup Enables automatic daily backups
  • -l --latestPhp Forces the use of the latest PHP version
  • -p=n --phpCgiServers=n Forces the number of PHP-CGI Servers, between 1 and 9
  • -j --hideProjects Hides Projects list
  • -n --noUpdates Disables weekly Update checks
  • example: D:Workbinwt-nmp.exe --debug --backup --phpCgiServers=2


  • Nginx: One of the reasons Nginx is so fast, it`s because it does not process .htaccess files. Therefore URL Rewriting and User Access must be set in nginx.conf.
  • MySql slow connection on windows 8: changing mysql_connect('localhost','root','') -> mysql_connect('','root','') solves the problem.
  • MySql 5.6 has a bug causing it to use too much memory: add table_definition_cache = 400 to mysql.ini
  • PHP is configured in a very restrictive way, like on most hosting providers. Comment out disable_functions, disable_classes, open_basedir in conf/php.ini, if you need a more permissive PHP configuration.
  • PHP MySql extension is disabled by default and is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. If you really want to enable mysql extension, add or uncomment in conf/php.ini: extension = php_mysql.dll
  • PHP: Starting only one PHP-CGI server with wt-nmp.exe --phpCgiServers=1 will result in slow ajax requests since Nginx will not be able to process PHP scripts simultaneous.
  • XCache PHP Extension: Disabled by default. Due to the limitations of php under windows, (only one process per CGI server, forcing wt-nmp to start more php-cgi servers instead of starting one server with more processes), the XCache PHP Extension will use different shared memory buffers for each php-cgi server. This will use more memory and will make XCache Variable Cache inconsistent between php processes. If you intend relay on it, you should use --phpCgiServers=1. XCache Opcode Cache will not be affected, but it will waste memory.
  • OPCache PHP Extension: when enabled, only one php-cgi server can be safely started. Starting more PHP-CGI servers might return "Fatal Error Unable to reattach to base address"

Debuging Configuration Files:

  • After changing the configuration files, one server might refuse start. In order to find out the reason, you can follow this steps:
  • Kill all servers and restart wt-nmp.exe --debug ( Display debug messages )
  • Copy from the debug logBox the full command, with arguments, used to start that server, under "Start XXX SERVER: "; For example, Start Nginx SERVER: d:wt-nmpnginx-1.2.8nginx.exe -c d:wt-nmpconfnginx.conf -p "d:wt-nmpnginx-1.2.8"
  • Open a Windows command line terminal with Start > Run > cmd , Paste the command and observe the output.
  • Also check the server log in WT-NMP/log
  • If nothing works, delete that configuraton file, or the whole WT-NMP/conf directory, kill all servers and restart wt-nmp.exe. The wt-nmp.exe server manager will copy the default configuration files to WT-NMP/conf.

Release History | Nginx | MySQL | PHP | Others

wt-nmp-14.06 Installer | 1.7.1 | 5.6.19 | 5.4.29 & 5.5.13 | opcache xdebug xcache composer node.js npm winscp wt-nmp-14.06 Zip | 1.7.1 | 5.6.19 | 5.4.29 | opcache xdebug xcache composer node.js npm winscp wt-nmp-14.05 Installer | 1.7.0 | 5.6.17 | 5.4.28 & 5.5.12 | opcache xdebug xcache wt-nmp-14.05 Zip | 1.7.0 | 5.6.17 | 5.4.28 | opcache xdebug xcache wt-nmp-14.03 Installer | 1.5.11 | 5.6.16 | 5.4.25 & 5.5.9 | opcache xdebug xcache wt-nmp-14.03 Zip | 1.5.11 | 5.6.16 | 5.4.25 | opcache xdebug xcache wt-nmp-14.01 Installer | 1.5.8 | 5.6.15 | 5.4.24 & 5.5.8 | opcache xdebug xcache wt-nmp-14.01 Zip | 1.5.8 | 5.6.15 | 5.4.24 | opcache xdebug xcache wt-nmp-13.12 Installer | 1.5.7 | 5.6.15 | 5.4.23 & 5.5.7 | opcache xdebug xcache wt-nmp-13.12 Zip | 1.5.7 | 5.6.15 | 5.4.23 | opcache xdebug xcache wt-nmp-13.10 | 1.4.3 | 5.6.14 | 5.4.21 & 5.5.5 | opcache xdebug xcache wt-nmp-13.09 | 1.4.2 | 5.6.13 | 5.3.27 & 5.4.19 & 5.5.3 | opcache xdebug xcache wt-nmp-13.07.31 | 1.4.2 | 5.6.13 | 5.4.17 | xcache wt-nmp-13.06.09 | 1.4.1 | 5.6.12 | 5.4.16 | xcache

Great Articles:


  • You can use composer.bat to download and keep updated various PHP frameworks and components. In a command line window, run:
  • composer create-project symfony/framework-standard-edition C:WT-NMPWWWmyNewSymfProject 2.4.*
  • cd c:pathToWWW
  • composer create-project silverstripe/installer myNewSSProject 3.1.*
  • composer create-project laravel/laravel myNewLarProjec --prefer-dist
  • You can upload files or synchronize your project to a server using WinSCP:
  • open WT-NMP Server Manager by clicking on the system tray icon
  • select your project and click on "Setup Remote Connection" icon
  • return to the project list and click on "Upload", "Synchronize" or "Browse" icons


  • wt-nmp-14.05 :
  • wt-nmp.exe server manager now runs minimized in the system tray and monitors and restarts crashed servers
  • added the latest versions of Nginx, MySQL, PHP, adminer
  • added Composer.phar, Node.js, NPM, and WinSCP
  • implemented Update Checker and Project List
  • implemented Project Upload, Sync and Browse with WinSCP
  • multiple upgrades and fixes.

  • wt-nmp-14.03 :

  • added the latest versions of Nginx, MySQL, PHP, adminer

  • wt-nmp-14.01 :

  • added the latest versions of Nginx, MySQL, PHP
  • server manager remembers the last php version and number of php processes used
  • better support for multiple development environments on the same OS

  • wt-nmp-13.12 :

  • Start servers with windows checkbox
  • Installer

  • wt-nmp-13.10 :

  • added the latest versions of Nginx, MySQL, PHP
  • added command line option -l --latestPhp
  • changed mysql connection string from 'localhost' to '' to prevent 1 second delay on windows 8

  • wt-nmp-13.09 :

  • added PHP 5.5.3 allongside 5.4.19 and 5.3.27
  • added opcache xdebug Php Extensions
  • in the server manager you can choose from multiple PHP versions
  • added PSPad free text editor

  • wt-nmp-13.07.31 :

  • added the latest versions of Nginx, MySQL, PHP, XCache
  • Xcache is loaded but disabled by default
  • added msmtp (sendmail alternative for windows) and php mail() tester
  • Fixed a few config bugs

  • wt-nmp-13.06.09 :

  • WT-NMP is now truly portable, the wt-nmp.exe server manager updates configuration files automatically after mooving to a new location
  • MySQL data dir is moved from distribution dir mysql-*/data to wt-nmp basedir in order for database data to be persistent during upgrades
  • removed command line option -w --warningsDisabled
  • renamed command line option -p --phpProcesses to -p --phpCgiServers
  • renamed nginx additional config files to nginx.*.conf
  • moved all executables in /bin
  • added a few icons to the server manager
  • added MySQL Database daily backups --backup

  • wt-nmp-13.04.23 :

  • added the latest versions of Nginx, MySQL, PHP
  • wt-nmp.exe now has a debug logBox and close button
  • all configuration files were moved to C:/wt-nmp/conf to allow easy upgrades
  • reg.php has a new look.
Source: README.md, updated 2014-06-06