WEMP Web Development Environment for Windows

3 Minute(s) to read

The following blog post is going to in-depth into how best to setup your web development environment if you are using the following stack.

The acronym expanded:

Windows, Enginx, MySQL, PHP.

  • Scripting
    • PHP 7 (FastCGI Server)
  • Database
    • MySQL (or MariaDB)
  • Web Server
    • NGINX

Alternatives

If you're not interested in spending time manually downloading and configuring the required components for setting up your own local development environment for the aforementioned stack, then there are the following alternatives.

Both are perfectly fine and make use of Apache over WAMP, which is suitable for most. However, I prefer to run my web server through NGINX for performance and configuration reasons.


Guide

Through each section I will guide you through what you must do in order to configure each component adequately.

The layout of your development environment should be as follows.

// Extracted ZIP archives and downloads for WEMP go here.
/bin/
// ZIP archives and downloads for WEMP go here.
/packages/
// The contents of your website go here.
/sites/
// Supporting scripts go here.
/scripts/

Downloads

You're going to need to download all of the mentioned above.

Tools

The following is completely optional but I recommend it for an easier development experience.

Visual Studio Code

An integrated development environment that is useful for breakpoint debugging with Windows.

Download Visual Studio Code

MySQL Workbench

This tool works with both MariaDB and MySQL server, and offers a convenient way of viewing the contents of your server instance.

Download MySQL Workbench for Windows

HeidiSQL

This visual database management tool is guaranteed to work with HeidiSQL. You may encounter some issues when using MySQL Workbench with MariaDB servers, so you're likely better off using this instead if you are intending on using MariaDB over its closed-source counterpart MySQL.

Download HeidiSQL


Configuration

The following sections outline how best to configure each component of your local development setup (WEMP).

NGINX

Configuration for NGINX will rely on using "FastCGI" functionality so that web requests received by NGINX, can be handed to a language or script interpreter, processed, and then have the output returned to the user.

MySQL or MariaDB

Windows respects table names that make use of a combination of upper and lower case characters. However, on Linux systems lower case table names are enforced by default. This can cause complications if you are intending on backing up a database that is created on your development machine (on Windows), and then importing it into your live environment that is running on Linux.

You can find out more information about this configuration option from the MySQL documents. For portability reasons, it's best that you ensure that table names match the same case in both environments.

Recommended Windows configuration:

lower_case_table_names=1

PHP 7 (FastCGI)

The following specifies that is required to get PHP up and running in a development environment on Windows.

Extensions

 

Breakpoint Debugging

For breakpoint debugging, you will require XDebug which is available from here.

Add the following properties to your php.ini file to enable it.

[XDebug]
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9001
xdebug.remote_handler=dbgp
xdebug.remote_autostart=1


Comments

Comments

Gravatar for lasifurexWah
lasifurexWah Sep 20, 2020, 5:56 AM (3 days ago)

top 11 best places to buy lasix in Canada
buying lasix with no prescription discount lasix
http://lasifurex.com/ best way to find cheap lasix in UK
<a href=http://lasifurex.com/>buy lasix online australia </a>
<a href="http://lasifurex.com/">lasix online deals </a>
purchase lasix from Hong Kong
buy lasix online from Honolulu
lasix alternative

Gravatar for lasifurexWah
lasifurexWah Sep 20, 2020, 5:37 AM (3 days ago)

purchase lasix from Cleveland
lasix how much where to buy lasix in Minneapolis online
http://lasifurex.com/ where to buy lasix in Atlanta online
<a href=http://lasifurex.com/>buy lasix in Puerto Rico </a>
<a href="http://lasifurex.com/">how to get lasix without a doctor </a>
buy lasix in Boston
where to purchase lasix in Memphis
best way to find cheap lasix in Belgium
where to purchase lasix in USA
how to get lasix
cheap lasix in Tulsa

Gravatar for lasifurexWah
lasifurexWah Sep 20, 2020, 5:30 AM (3 days ago)

purchase lasix from San Jose
best price for lasix in Dallas cheap lasix in Seattle
http://lasifurex.com/ cheap lasix in UK
<a href=http://lasifurex.com/>where to buy lasix in Italy </a>
<a href="http://lasifurex.com/">how to buy lasix in Pittsburgh </a>
where to purchase lasix in Germany
top 3 best places to buy lasix in Virginia Beach
top 3 best places to buy lasix in France
buy generic lasix
lasix online pharmacy in Finland
how much lasix cost

Gravatar for lasifurexrom
lasifurexrom Sep 20, 2020, 5:00 AM (3 days ago)

cheap lasix in Houston
lasix online pharmacy in Columbus how to purchase lasix
http://lasifurex.com/ buy cheapest lasix
<a href=http://lasifurex.com/>top 10 best places to buy lasix in Czech Republic </a>
<a href="http://lasifurex.com/">best price for lasix in Switzerland </a>
is it legaly to buy lasix online
get lasix prescription online
top 5 best places to buy lasix in St Louis
purchase lasix next day delivery
top 6 best places to buy lasix in Los Angeles
where to buy lasix in Saudi Arabia online
lasix tablet online

Gravatar for lasifurexWah
lasifurexWah Sep 20, 2020, 4:59 AM (3 days ago)

where to get lasix
lasix generic cost top 3 best places to buy lasix in Spain
http://lasifurex.com/ where to buy lasix in Milwaukee online
[url=http://lasifurex.com/]how to buy lasix in Jacksonville [/url]
<a href="http://lasifurex.com/">purchase lasix from Cleveland </a>
buy lasix in Toledo
cheap lasix in Cleveland
top 11 best places to buy lasix in Phoenix