Compare 4 useful WordPress local development environments: XAMPP, MAMP, DesktopServer and Local

Article directory [hide]

  • XAMPP
  • MAMP (Professional Edition)
  • DesktopServer
  • Local
  • Who is the best local WordPress development environment?

The easy-to-use local test server is one of the most important tools in the WordPress developer’s tool belt. Developing in a local environment allows you to make changes to the development site quickly and easily without having to transfer files to anywhere. It also greatly reduces the risk of making and interrupting changes on the real-time web server.

Although many computers can host WordPress sites without installing any additional packages, a dedicated local development environment can provide some advantages. For example: Most developers work on multiple projects, so being able to quickly start a new web server with a dedicated URL is very helpful.

If you are developing a WordPress theme or plugin, you usually also need to make sure that your code runs well on different servers on different versions of PHP and MySQL. Being able to switch them on the fly or at least choose different configurations for different development sites is very helpful.

But most importantly, you don’t need to be a system administrator to start, maintain, and tear down the development environment on the local server. Therefore, we need something easy to use and will do most of the heavy work for us.

There are many applications and tools suitable for this requirement, but for now, we will compare the four GUI-based tools that I think are the largest in this field: XAMPP, MAMP (Pro), DesktopServer, and Local.

The main difference between MAMP, XAMPP, DesktopServer and Local is the ability to manage multiple sites and ease of use. Local and DesktopServer allow you to customize the domain name of the local site, but XAMPP and MAMP (unless you use Pro) do not it. If you are looking for a free alternative, then XAMPP and Local are the clear choices here. The remaining apps provide paid versions with more features.

If you use WP-CLI in your daily workflow, you may not like Local. You cannot directly enter the working directory and execute CLI commands. You need to browse its applications to open the SSH container separately for each site. I personally use WP-CLI every day, which prevents me from fully switching from MAMP Pro to Local.

Let’s dive deeper into these local WordPress development environments.

XAMPP

XAMPP stands for X platform Apache MariaDB, PHP and Perl-it is definitely the only local server that still has Perl as a main feature, so if you want to keep it TMTOWTDI, then this is definitely your ideal choice. Although you can also find the Perl command line tool optionally available in MAMP Pro.

XAMPP installation

Installing XAMPP seems easy: just download the correct installer from their website and run it. But in reality, it may not be that simple. I first tried to install XAMPP as a new user on my Mac laptop. The installer runs fine, but nothing more. After the installation is complete, I found the application I need to run (prompt Alfred/Spotlight users to act as an application launcher: it is not called “XAMPP”, it is intuitively called “Application Manager”), I cannot get the server to start.

I think this is because I have installed MAMP and Local on this computer, and there may be some conflicts. Unfortunately, XAMPP never gave me any bugs that could be tracked. It just keeps trying to start the server.

After the failed attempt, I created a MacOS virtual machine to provide XAMPP with the required completely blank state. Likewise, the installation process went smoothly. This time the server starts as expected.

Get started and run with WordPress

At least on MacOS, the XAMPP interface is not intuitive enough. Maybe it’s because I am used to the application-based approach, but it took a while to realize that most of the XAMPP interfaces exist on localhost as web applications. From there, it provides links to download bitnami modules for WordPress and other applications. For MacOS, you need to install WordPress directly in the XAMPP site directory, because the OS X native module is not recommended recently. You need to install the Mac version of XAMPP-VM to install the XAMPP plug-in separately.

The bitnami installer works well. I did have to restart it a few times before deciding that I needed to return to the Application Manager and open MySQL. After finishing the work, I installed the new WordPress on 127.0.0.1, which is not what I wanted. I thought that at some point in the process I could choose a host domain name, such as “wp-local.dev”, but this is not the case.

In order to use hostnames other than “//localhost”, you must dive into the Apache configuration of XAMPP and define them yourself. Then, you must edit the computer’s hosts file to set the domain name. Technically, this is required for any local development setup, but most of the other options we cover here can do this seamlessly for you. For this reason alone, I am not impressed with XAMPP.

XAMPP evaluation

XAMPP initially started with a stupid pronunciation (we all agree that it should be pronounced “zamp”), and continued this trend with a clumsy installation process, unintuitive interface, and lack of functionality. XAMPP is not all bad. It has existed longer than most web developers and provided a viable solution. XAMPP is an open source platform that supports all major operating systems, including Windows, MacOS, Linux, etc. Moreover, it is completely free.

After the arduous installation process, I have no intention to start the Windows or Linux VM for testing. I would doubt the benefits of XAMPP and say that Mac applications may just be their weak link . If you are looking for a local development environment on MacOS without writing Perl, XAMPP is not recommended.

XAMPP does not allow you to switch between different versions of PHP, on the contrary, it has different download packages containing different PHP versions.

XAMPP score

( 1/5 points )
Hmm. At least it comes with an uninstaller.

XAMPP official website: https://www.apachefriends.org

MAMP (Professional Edition)

MAMP stands for Mac Apache MySQL and PHP. It used to be a MacOS application, but now it is also available for Windows. Therefore, if you want to switch to Windows for local development, you can also choose MAMP.

MAMP installation

Compared with SHAMPP, installing MAMP is easy. You may attribute this to MAMP’s focus on the Mac platform, because the installer looks and feels like at home on MacOS. It runs fast and actually installs an application called MAMP. In addition, it will also install MAMP Pro , you can try it for free for 2 weeks, but then you will need to pay $79 .

Get started and run WordPress

MAMP is a very versatile product, and the free version does not package an installer for WordPress or any other applications. You will need to spend 5 minutes to complete the operation yourself. Using the free version of MAMP, this DIY requirement only involves unzipping the latest version of WordPress in the default Web root directory of MAMP /Applications/MAMP/htdocs/and building a database. You can do this via phpMyAdmin (which can be easily accessed from the MAMP startup page http://localhost), and then follow the normal WordPress installation instructions. MAMP’s webstart even provides you with a PHP snippet for connecting to MySQL, which you can use as a cheat sheet.

However, with MAMP Pro, you will get a package installer for WordPress (and other applications) , which actually makes it easy to a site in seconds.

MAMP assessment

Like XAMPP, MAMP does not provide much help in creating virtual hosts. Although it does for you to offer several options for the server environment (you can use Apache or Nginx, as well as to choose between multiple versions of PHP and MySQL) , but it does not allow you to run multiple types of environments or to Any tedious work for you to a new website. MAMP Pro also provides Python, Perl and Ruby via the command line.

On the other hand, MAMP Pro does all of this and more with an easy-to-use ugly native application. You can also easily switch between different versions of PHP , the app contains many PHP versions, but you can always download other versions through its built-in installer.

Full disclosure:  MAMP Pro is my daily driver. I have been using MAMP Pro for many years and found it to be reliable, configurable, and slower than Local. The latest version of MAMP Pro even comes with installers for various applications, including WordPress. The WordPress installer seems to work well and intuitively. It allows you to customize user name, password, database user/password, etc. during this process. MAMP Pro also allows you to your own SSL certificate during site creation, although you need to add the certificate to the macOS keychain to avoid displaying SSL errors in the browser.

MAMP score

( 3/5 points )
MAMP (free) is absolutely easy to install and use, but it is not enough for developers who need to set up multiple sites.

MAMP Pro score

( 4/5 points )
MAMP Pro learns from where MAMP stopped and is well worth the price of $79. To be honest, I only keep the last semicolon because I still have two comments to do, and I don’t want to refactor this highly intuitive scoring system.

MAMP (Pro) official website: https://www.mamp.info/en/

DesktopServer

Until recently, DesktopServer was the only GUI-based local environment built specifically for WordPress developers. As far as I know, DesktopServer is bundled with XAMPP and used as an extension of the XAMPP server, which automatically installs WordPress and handles the creation of virtual servers and automatically hosts file entries for you.

There is a paid version of DesktopServer , which adds such as multi-site support (hint: you can manually convert a site to multi-site), as well as some utilities and integrations. The main reason for the upgrade seems to be that the free version only allows you to three sites , while the $100/year premium version can remove this restriction.

As mentioned by Marc Benzakein, Operations Manager of ServerPress, these three sites have more restrictions.

First, there is a limit of 3 sites. This is not actually a limitation, because you can actually any number of sites, but the number of sites you can only manage at a time is limited. In other words, you can always have three sites, but to create a new site, you need to delete one site to make room for it.

DesktopServer installation

I began to think that this installation part is a bit redundant, because the installation process of DesktopServer is almost the same as MAMP or XAMPP. You just need to start the installer package and mix and match on the “Next” button until you realize that you actually clicked a “Finish” button. effective!

Get started and run WordPress

To be honest, just continue to click the next button. Compared with MAMP/XAMPP, this is where DesktopServer really comes into play. Because it is built specifically for WordPress development, the DesktopServer application is primarily a wizard that allows you to .dev.ccinstall a new WordPress installation using your own domain name . This is easy to use and super fast.

DesktopServer evaluation

For WordPress developers who don’t want to set up too much, DesktopServer is a good choice. Some of me want to be uneasy about the three site limitations of the free version. But free brings you a lot of benefits. I think if the free version is not limited by the number of sites you can install, it will be a difficult thing.

As a long-term user of MAMP Pro, I hope DesktopServer has a better site management UI. I also missed the ability to configure PHP and MySQL versions, and DesktopServer does not seem to have this feature at all.

In general, the DesktopServer UI is a bit weird because it is essentially an endless loop of wizards, rather than a traditional application. Therefore, it is actually designed to make some major changes, such as copying, moving, and deleting sites. When you just want to check the state of things, it’s not so intuitive.

Following the same package as XAMPP, DesktopServer does not allow you to switch between different PHP versions , which is not very interesting to me.

All in all, I want to say that DesktopServer works well for WordPress website developers. For people who need to develop and test themes or plugins in various deployment scenarios, this may be a bit basic. Both Windows and Mac can be used.

DesktopServer score

( 3/5 points )
DesktopServer is super easy to use and allows you to quickly install and run WordPress, but it may be too basic for developers who need to test in different server environments.

DesktopServer official website: https://serverpress.com/

Local

Of all applications, Local is the fastest, most intuitive and well-designed application . Local was originally called Pressmatic and was later acquired by Flywheel. Since then, it has been given away to all new users for free. Flywheel was also recently acquired by WP Engine, so Local is now a WP Engine product.

Local has many useful features, including Apache or Nginx web server, SSL certificate, MailHog and XDebug support. Local also allows developers to build their own plug-ins to modify or extend the functionality of Local.

In addition to the free version, Local also offers two paid plans for individuals and teams, which are $20 per month and $50 per month. Recently, Local was renamed Local “Lightning”, as the name suggests, it can make Lightning work faster. In contrast, it feels faster than any application I have introduced in this article.

Local installation

Local does not even come with an installer package like the other applications I have introduced so far. Instead, you only start the application. If you run the application for the first time, you will see the following screen:

Local is a cross-platform application that supports all major operating systems. The old version of Local used to run in a virtual container, but the new version of Local has been changed to use system-level software to run your site, which greatly improves its running speed. Local does a good job of isolating software , you can even use Local with things like MAMP or XAMPP. You can also configure different MySQL/PHP versions for each site when you a site , and you can choose to download different versions.

Get started and run WordPress

Like DesktopServer, Local is a WordPress-centric product, so whenever a new site is created, it is a ready-to-use WordPress site. In addition, in terms of server type (Apache or Nginx), PHP version, and MySQL, Local provides you with many choices. Setting up a new site in Local is very fast, and can be done more quickly by setting a template, which actually copies all files, databases, configuration files and Local settings.

Local evaluation

I can’t say too many good things about Local. Between things like DesktopServer or MAMP and a more advanced/developer-centric WordPress development environment, this is indeed the best of both worlds.

As mentioned earlier, Local provides a variety of server environment options and automatically sets up WordPress for you (including two variants of multisite). It provides a simple interface to share your website on the Internet using Ngrok. It will automatically set up SSL for your site, open source MailHog integration to capture outbound email …there are many more advantages. The best part about Local is that all of this is currently included in the free version of the product .

Local also installs WP-CLI by default, but you can’t just open the site’s folder and start running WP-CLI commands. You need to open the site shell in Local. Local does make this very easy, just right-click on the site name in the sidebar and select “Open Site Shell”.

Like Mamp Pro, Local also allows you to switch between different versions of PHP, but you cannot install a custom PHP version. Fortunately, Local provides 2-3 pre-installed PHP versions, which makes it easier to test in different environments.

Local also supports plug-ins developed by the community to help you modify and extend the functionality of the application. Although their latest version, Local Lightning, only supports 5 add-ons, it enables you to enable XDebug for PHPStorm.

Local score

( 4.5/5 points )
Local is almost perfect. For WordPress developers on the market, it is the most complete UI-based local development solution, and it is incredible. If you can access WP-CLI directly in some way, I will give it a perfect 5.

Local official website: https://localwp.com/

Who is the best local WordPress development environment?

Every day I still use MAMP Pro in most local development . Not only because I have been using it for many years and have matured, but also because I often need to access the development site through the CLI. With the help of the built-in terminal of PHPStorm, it is very easy to run CLI commands instantly without having to separately open the terminal through the UI of the application and separately open the terminal as in Local.

If I am working on a certain Windows operating system (sometimes I might do this, or even starting from scratch today), then Local is definitely a good choice.

What do you use for local WordPress or other web development projects? Do you think I should cover other GUI-based tools in this list? When setting up a local development environment, do you want to know anything else? Let us know in the comments!

Note: The content of this article is from Delicious Brains Inc., the author is Ram Ratan Maurya, and it is translated by WordPress University.

Advocate comment: As mentioned in the text, Local is the most worthwhile local development environment to try, especially the new version of Local runs very fast, which is also the best WordPress local development environment I have used. The only shortcoming is that when downloading and installing Local PHP, MySQL and other versions in China, the Internet speed is very poor, which is a headache. In addition, Local is an English interface, there is no Chinese version.

For more information about Local, please see the topic “Local by Flywheel Building a WordPress Local Operating Environment”. This topic tutorial is written in accordance with the old version of Local, and the new version of Local is even better.

If you are interested in the Windows 10 subsystem, you can learn about “Building a WordPress Local Development Environment Based on WSL”