LAMP Stack – XAMPP vs WAMP vs MAMP – What Should We Use

Why I’m writing this? Obviously, because I’m a PHP programmer 🙂 and I felt how hard it is to decide which bundle (LAMP stack) should be used. I’ve worked on Linux around 4-5 years ago, then Windows for a long time, and currently working on a Mac platform. I’ve used all these three bundles over a different time period. I’m in the development industry for over 10 years and I think now I’m in a position to do a side-by-side comparison of these tools so that the newcomers seek some help from this article.

What is the LAMP stack

Don’t assume something with those software’s original names, i.e. XAMPP, WAMP, or MAMP. These are merely bundled packages with Apache, MySQL, and PHP. Actually, if you know how to configure Apache, MySQL, and PHP (i.e. many of you may have configured unmanaged dedicated servers in Linode/Rackspace etc.), then you do not need to use these bundles. It’s an ease of use as it includes the automatic configurations, many utilities, phpMyAdmin, servers start/stop/restart interface (i.e. you do not need to do it via shell commands).

There are misconceptions like these are for different platforms. Actually, it’s not. XAMPP supports Windows, Linux, and Mac OS X. WAMP only supports the Windows platform. MAMP supports both Windows and Mac OS X. But here is the trick, that which one is better for a specific platform?

Now come to the point of comparison. If you are using the Windows environment, then you can use either XAMPP, WAMP, or MAMP. Though XAMPP is a bit over complicated and includes lots of unnecessary tools that you generally do not need in the local environment, still XAMPP is the best option for a Windows environment, I think. WAMP comes only for the Windows platform, and I personally didn’t like it at all. MAMP also comes for Windows and Mac OS X platform.

I’m currently using MAMP in Mac OS X and I’m very happy with that. I used XAMPP earlier in Mac OS X and faced high CPU usage from the “mysqld” service. I discovered this issue with XAMPP while my Mac was getting overheated, laggy typing etc. and I tried to find out how to optimize it. For Linux distribution, you either have to use XAMPP among these three, as the others don’t provide a Linux version of the software, or you have to configure individual services.

Let’s have a quick look at the LAMP stack bundles features:-

XAMPP bundle includes:
Apache
MySQL + phpMyAdmin
PHP
Updated OpenSSL
PHP XMLRPC
MSSQL PHP extension
PostgreSQL PHP extension
WP/Joomla/Magento/Drupal etc. as Add-ons

WAMP bundle includes:
Apache
MySQL + phpMyAdmin
PHP

MAMP bundle includes:
Apache
MySQL + phpMyAdmin
PHP
eAccelerator
reverse proxy nginx support
APC cache library
Python
Perl

MAMP also has a PRO version with virtual hosts configuration, DynDNS, email, WP/Joomla etc. quick installers and many more. However, why bother with PRO? You can easily (I really shouldn’t say easily though) install and configure those on your own! Google is there after all.

So, here is my personal opinion. For Windows platform, XAMPP is a better option. In the case of Linux, XAMPP is an only option between these three bundles. For Mac OS X, MAMP is a better choice.

Now you always have chances to explore yourselves and criticize my opinion, I would greatly appreciate that, thank you 🙂