Magento Mamp

  1. Mamp Magento 2 Slow
  2. Magento Mamp Pro
  3. Mamp Magento 2

Step-1: Configuring MAMP. Go to Applications section on your Mac OS and launch the WAMP application. Click on to Preferences section on your MAMP and configure the settings as per requirement. We will use the default MAMP port 8888 for Apache and port 8889 for MySQL for this demo. Sep 12, 2017 Magento 2 Install Magento 2 locally on MAMP. This is a short step by step tutorial about how to install Magento 2 locally on MAMP. We will see how to install MAMP and how to configure the proper PHP and MySQL versions.We’ll then connect to Github and get Magento 2 sources and install it via Composer. Configure Apache for Virtual Hosting The default MAMP Apache install does not offer pre. Next step is to make mamp support HTTP/2 and make Magento 2 even faster on local. A huge thank you for those who replied earlier. Your answers helped me to solve some parts of the puzzle. I'm glad to be sharing the whole solution with you now. If it doesn't work for you, keel an eye on MAMP Nginx log. Bitnami MAMP Stack provides a complete, fully-integrated and ready to run MAMP development environment. In addition to PHP, MySQL and Apache, it includes FastCGI.


When developing and testing a production Magento store locally it’s easy and convenient to set up an exact replica of the production environment. This can be achieved using Apache virtual hosting and your operating system hosts file.

This post will walk you through setting up a local testing Magento install for MAMP Leopard to include a virtual hosting configuration and how to configure your operating system to send requests for your production site to your local testing environment.

This post will not cover installing Magento, copying an existing production Magento – it is assumed this will have already been done and we are focusing only on how to actually set up an Apache virtual host and the operating system hosts file. If you need help installing MAMP you can read my step by step guide to install MAMP on Leopard.

Step 1: Configure Apache for Virtual Hosting

The default MAMP Apache install does not offer pre-configured virtual hosting but it can be easily added. First thing to do is back up your existing MAMP Apache configuration files.

Now you need to edit the httpd.conf file to add virtual hosting configuration. Open the file with your favourite text editor and add the following to the end:

This tells Apache to include another file called sites which we obviously haven’t created yet.

We could include our virtual hosting configration in the httpd.conf file but it’ll get grubby if we start having many local sites. Likewise we could include an entire directory (say one called ‘sites-enabled’) and then have a symlink for each site within that directory pointing to a file in a directory called site-available! If you want to set up something more robust like that, you can. Before you do though, ask yourself how many production stores you’ll be running from your laptop…

Anyway back to the actual configuration. Now we create a file called sites in the directory we told Apache it was (recall that was: /Applications/MAMP/conf/apache/)

And put the following configuration into the file:

Your DocumentRoot value should match up to where you have installed Magento. It helps your organization to have an entire directory dedicated to different virtual host Document Roots and to name each Document Root after the site it is the root of as in my example configuration.

You can add as many VirtualHost sections as you like in this sites file. Each one will be a new testing or development site.

After saving the sites file you can restart MAMP and it should now support virtual hosting and have one virtual host running. If you open a browser and browse to though, you will still see the production site.

This is because your local computer is still requesting DNS records for the domain name and it is still resolving the real IP address. Never fear though, we can instruct our local computer not to get the DNS record, by giving it a local name resolution through the hosts file.

Step 2: Setup your hosts file

I won’t tell you about a hosts file here, someone has already written up an excellent description of the hosts file, I’ll just explain how to add configuration for your local Apache testing virtual host.

Before going any further I’ll stress that if you set up a name exactly the same as your production server then you will end up confusing your production and testing sites at least once. If you want to avoid this and create a really clean separation then make the test environment a virtual subdomain such as

To proceed with the same name setup, then simple edit your /etc/hosts file as root.

and find the line for then edit it to look like this:

You can add more and more sites too like:

Note that all the entries need to be on one line, i.e. no line breaks.

Now when you visit in your browser you will be able to see your local testing Magento installation running as a virtual host on MAMP Apache. if you can’t for some reason, let me know and I’ll help you with it.

To revert back to using DNS entries you just remove the site from the line and refresh in your browser.

You might also be interested in:

Running all unit tests

To run all tests, navigate to the Magento base directory and execute the following command:

Running only a subset of the unit tests

To run only tests within a specific directory branch, all you have to do is to specify the directory branch after the command.

The following example tells PHPUnit to look for any file ending with Test.php within the directory branch app/code/Example/Module/Test/Unit and try to execute it.


The phpunit executable is installed by composer and linked into the directory vendor/bin.


The option -c dev/tests/unit/phpunit.xml.dist specifies the configuration file for PHPUnit.

If custom configuration settings are required (more on that later), the file dev/tests/unit/phpunit.xml.dist can be copied to dev/tests/unit/phpunit.xml and adjusted as needed. In that case modify the -c flag accordingly.

PHPUnit has many additional command line options. Please refer to the PHPUnit documentation for more information (currently Magento 2 uses PHPUnit version 4.1.0, Magento 2.2.x uses PHPUnit vesrsion 6.x).

Mamp Magento 2 Slow

Solutions to common problems

Permission Denied

One possible reason for this to happen might be if you are trying to execute PHPUnit inside a Virtual Box VM with shared folders that don’t allow modifying permissions.

Whatever the reason, if you encounter the permission denied: vendor/bin/phpunit error, you can prefix the command with the PHP interpreter, so your system knows what binary to use to run the tests.

Use the correct PHP interpreter

Magento Mamp Pro

On many development systems, you might have more one PHP version installed. You must know the correct PHP interpreter to use for testing; that is, use the same version of PHP to run the unit tests you use to run Magento.

Some examples follow:

  • Ubuntu: /usr/bin/php
  • CentOS: /usr/bin/php
  • OS X:

    • System: /usr/bin/php
    • Homebrew: /usr/local/Cellar/php56/5.6.19/bin/php
    • MAMP: /Applications/MAMP/bin/php/php5.6.19/bin/php

You can either fix your $PATH (please refer to your system documentation on how to do that), or specify the full path to the PHP interpreter. For example:

Memory Limit

If you encounter an error similar to Fatal error: Allowed memory size of 67108864 bytes exhausted, follow these steps to resolve it.

Copy the PHPUnit configuration file dev/tests/unit/phpunit.xml.dist to dev/tests/unit/phpunit.xml

Find the following section:

Mamp Magento 2

Add the following line in the <php> block to disable the PHP memory limit during test execution.