What’s the difference between XAMPP, MAMP, and WAMP?

When you start coding in php, you’re going to need your computer set up with a local server. This is what XAMP, MAMP, and WAMP essentially are. They are local environments that allow you to run serverside code.

The way php work is that it renders behind the scenes and sends back a complete page to the user. Unlike popular JavaScript-based frameworks and libraries, where the entire website code is sent, php based websites render on demand.

With XAMP, MAMP, and WAMP, they act as a server on your computer to process and render the requested page.

The main commonality between all three is that they all contain a MySQL based database of sorts, Apache and PHP.

Digging into the different common parts

MySQL is the open-sourced relational database system that lets you store and retrieve data based on a set of logical reasoning rules. It is called relational because of the relationships between the different tables. MySQL is also a language that lets you interface with databases that supports the querying methods.

Every database has its own special ways of doing things and MySQL lets you talk to them in a way that is convenient and widespread in knowledge.

Apache is your web server. But what is a web server? It is essentially a software that runs on a machine that is capable of serving up web pages based on a client’s request.

But what is a web server? It is essentially a software that runs on a machine that is capable of serving up web pages based on a client’s request.

PHP is the language that you’re writing your code in for your server to serve up. Apache does the necessary processing and compiling required as instructed by your PHP and returns a webpage as a result.

These things – Apache, MySql, PHP – is essentially what makes up the AMP part of the acronyms. When you have several different technologies grouped together, it is called a stack.

The things make WAMP, MAMP, and XAMPP different

The main difference between these three stacks is the starting letters and we’re going to decrypt them here.

Let’s begin with the W from WAMP.

The W in WAMP stands for Windows. This means that the stack is specially made for Windows machine. Chances are, you’re working on a Windows-based laptop or computer. WAMP also uses MySQL as its database, meaning that a standard installation of WordPress on your local machine will work without any issues.

It is good to note that WAMP supports Windows machines only.

What about MAMP?

MAMP was originally designed for Macs but has since extended itself to support Windows-based machines as well.

The thing with MAMP is that it comes bundled with Apache and Nginx – which is another server that can be used to render your php. The main difference between Apache and Nginx is that they’re created by different people but ultimately do the same thing – the interface software between the client and the hardware.


XAMPP is probably one of the oldest apache based stacks that’s still quite popular for local setups. The extra P in XAMPP stands for Pearl – which is another programming language.

It is also good to note the database used in XAMPP is MariaDB, which is a community-developed MySQL based database. It is free and open-source based on its General Public License (GNU).

While MariaDB is not quite the same as MySQL, it interfaces with MySQL as its native query language.

Which one should I download and use?

When it comes to WAMP, MAMP, and XAMPP, it doesn’t really matter if you’re planning to do WordPress related PHP coding. Theming and plugin creation is more to do with the act of writing PHP than which localhost stack you decide to go with.

Personally, I’ve used both WAMP and XAMPP in the past and they’ve both served their purposes well.

If you’re running a Mac, then you’ll only have XAMPP and MAMP as your server stack options. This is because WAMP is exclusively windows and doesn’t support Macs.

Without further ado, here are the links to downloading them:

Download XAMPP | Download MAMP | Download WAMP

Thank you for reading.


I am currently embarking on a Prototype Year to experiment my way into a life I want. This space is for documenting that journey.

Leave a Reply

Your email address will not be published. Required fields are marked *