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 back in 4-5 years ago, then Windows for a long time, and currently working on 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 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 as well like these are for different platforms. Actually, it’s not. XAMPP supports Windows, Linux, and Mac OS X. WAMP only supports 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 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 Windows environment, I think. WAMP comes only for 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 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:
MySQL + phpMyAdmin
MSSQL PHP extension
PostgreSQL PHP extension
WP/Joomla/Magento/Drupal etc. as Add-ons
WAMP bundle includes:
MySQL + phpMyAdmin
MAMP bundle includes:
MySQL + phpMyAdmin
reverse proxy nginx support
APC cache library
MAMP also has a PRO version with virtual hosts configuration, dynDNS, email, WP/Joomla etc. quick installers and many more. But why bother with PRO? You can easily (I really shouldn’t say easily though) install and configure those by your own! Google is there after all.
So here is my personal opinion. For Windows platform, XAMPP is a better option. For 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 criticise my opinion, I would greatly appreciate that, thank you 🙂
I initially started with Wamp but as I started going through development courses, I found that people tend to use Mamp quite a bit (maybe because of its ease of use).
For some reason I thought Xampp was only for Mac?!
Xampp is available for Windows, Mac, and Linux!
I am using the xampp and i love it
hi Supratim Roy
Thanks a lot for this simple and clear comparison because i was a little confuse on which one was the best to use for my development on my mac. i first started in past years with mamp pro , after switched to xampp , after moved back to mamp pro , switch to bitnami when it came out and now i want to go back to mamp pro but… (read below)
– i move to bitnami because the everything was configured and when you start any development on it it is very fast (don’t need to be seeking for caching system to improve performance). Ex: On mamp something , like in Cms drupal , when you want to enable module you can get repeated time out (500 request) even if you consistently increase every thing in php. ini (memory= 1024 , max execution time out = 800 s) . On bitnami there is no need and if you check the config file you will notice that the memory is set to just 256 MB.
The only thing that i didn’t like on bitnami is not having the possibility of quick site setup and everything listed and accessible from an app window like on the awesome mamp pro….Reason why i want to go back to mamp but i am fairing about facing again about facing those timeout problems. I have tried enabling and disabling APC, eAccelarator, etc but still having sometime timeout.
if you have some recommendations that i could follow please i would really appreciate your help.
Hey, that’s a very good piece of information you have provided here. To be frank, I have used only APC, Memcached, and SQLite as extra modules. Also, I’m not much familiar with Drupal. I could run WordPRess, Joomla, Codeigniter, CakePHP, Laravel with full features successfully in my local virtual server under MAMP.