This is the full developer documentation for MAMP & MAMP PRO
# MAMP & MAMP PRO Documentation
> Everything you need to set up and manage your local web development environment.
[MAMP for macOS ](/en/MAMP-Mac/)One-click local server environment for macOS.
[MAMP PRO for macOS ](/en/MAMP-PRO-Mac/Getting-started/)Professional configuration application for macOS – virtual hosts, multi-PHP, database management.
[MAMP for Windows ](/en/MAMP-Windows/)One-click local server environment for Windows.
[MAMP PRO for Windows ](/en/MAMP-PRO-Windows/Installation/)Professional configuration application for Windows – virtual hosts, multi-PHP, database management.
Looking for documentation of an older version?
[Version 6](https://documentation-6.mamp.info)[Version 5](https://documentation-5.mamp.info)[Version 4](https://documentation-4.mamp.info)
# MAMP for macOS
> Documentation for MAMP on macOS – a one-click local web server for Apache or Nginx, MySQL, and PHP.
MAMP is a one-click solution for running a local web server on your Mac. It bundles Apache, Nginx, MySQL, and PHP into a single application, so you can develop and test websites without an internet connection.

[Tutorial ](/en/MAMP-Mac/Tutorial/Your-first-local-website/)New to MAMP? Follow a step-by-step walkthrough to build your first local website.
[How-to guides ](/en/MAMP-Mac/How-to/)Step-by-step guides for installation, configuration, database management, and CMS setup.
[Reference ](/en/MAMP-Mac/Reference/)MAMP interface, toolbar controls, and system requirements.
[Explanation ](/en/MAMP-Mac/Explanation/)Understand local development environments, ports, and the document root.
# Explanation
> Conceptual explanations of the ideas behind MAMP – what a local development environment is, how ports work, and what the document root means.
These articles explain the concepts behind MAMP. They are not instructions – they are here to help you understand *why* things work the way they do.
[What is a local development environment? ](/en/MAMP-Mac/Explanation/What-is-a-local-development-environment/)Why run a web server on your Mac? What problem does MAMP solve, and what does the abbreviation stand for?
[Ports ](/en/MAMP-Mac/Explanation/Ports/)Why does MAMP use port 8888 instead of the standard port 80? What is a port and when would you change it?
[The document root ](/en/MAMP-Mac/Explanation/Document-root/)How the document root connects a URL to a file on disk, and why it matters where you put your project files.
# The document root
> What is the document root, how does it connect a URL to a file on disk, and why does it matter where you put your project files?
## What the document root is
[Section titled “What the document root is”](#what-the-document-root-is)
The **document root** is the folder on your Mac that the web server treats as the starting point for all web requests. It maps a URL to a file on disk.
When your browser requests `http://localhost:8888/hello.html`, Apache does not search your entire Mac for a file named `hello.html`. It looks only inside the document root folder. The URL path after the port number maps directly to the file system path inside that folder:
| URL | File on disk |
| ----------------------------------------------- | --------------------------------------------------- |
| `http://localhost:8888/hello.html` | `/Applications/MAMP/htdocs/hello.html` |
| `http://localhost:8888/projects/site/index.php` | `/Applications/MAMP/htdocs/projects/site/index.php` |
MAMP’s default document root is `/Applications/MAMP/htdocs/`. The recommended setup is one project per document root:
* Applications/
* MAMP/
* htdocs/
* index.php
* style.css
* images/
* logo.png
Working on multiple projects?
MAMP is designed for working on one project at a time. If you need to run multiple projects with separate domains simultaneously, [MAMP PRO](https://www.mamp.info/en/mamp-pro/mac/) is the right tool – it lets you create an unlimited number of virtual hosts, each with its own domain and document root.
## Why the location matters
[Section titled “Why the location matters”](#why-the-location-matters)
Files **inside** the document root are accessible through the browser. Files **outside** it are not. This boundary is not a limitation — it is an intentional security feature. A visitor to your local server cannot request files from arbitrary locations on your filesystem.
This has a practical implication: sensitive files such as configuration files with database passwords should always be stored *outside* the document root, where they cannot be served by accident.
## Changing the document root
[Section titled “Changing the document root”](#changing-the-document-root)
You can change the document root at any time in **Settings › Server**. A common reason to do this is to point MAMP directly at a project folder, so that `http://localhost:8888/` opens that project rather than the default `htdocs` folder.
For example, if you are working on a project at `~/Sites/my-project/`, you can set that as the document root and access it at `http://localhost:8888/` without putting it inside the MAMP folder at all.
Changing the document root does not move or delete any files. It only changes which folder the web server looks in when handling requests. The previous folder and its contents remain untouched.
## The document root and `index.php` / `index.html`
[Section titled “The document root and index.php / index.html”](#the-document-root-and-indexphp--indexhtml)
When a URL ends with a folder path rather than a specific filename – for example `http://localhost:8888/` – Apache looks for a default file inside that folder. By convention, this is `index.php` or `index.html`. If neither exists, Apache displays a directory listing – a plain list of files and folders in that directory. This is the default behavior in MAMP’s standard configuration.
This is why placing an `index.php` or `index.html` in your document root is enough to make it load automatically when you open `http://localhost:8888/` in a browser.
# Ports
> Why does MAMP use port 8888 instead of the standard port 80? What is a port, and when would you want to change it?
## What a port is
[Section titled “What a port is”](#what-a-port-is)
When two programs communicate over a network, they use an IP address to identify the machine and a **port number** to identify the specific service on that machine. A Mac running both a web server and a database server has one IP address but two ports – one for each service.
Think of it like a building: the street address (IP) tells you which building, and the apartment number (port) tells you which unit inside.
Port numbers range from 0 to 65535. Many common services have established default ports that software assumes when no port is specified:
| Service | Default port |
| ---------------------- | ------------ |
| HTTP (web) | 80 |
| HTTPS (web, encrypted) | 443 |
| MySQL | 3306 |
When you type `http://example.com` in a browser, the browser silently connects to port 80. No port number appears in the address bar because 80 is the understood default.
## Why MAMP does not use port 80
[Section titled “Why MAMP does not use port 80”](#why-mamp-does-not-use-port-80)
On macOS, ports below 1024 are **privileged ports**. Only processes running with administrator rights can open them. If MAMP used port 80, macOS would ask for your admin password every time the servers start.
MAMP avoids this by defaulting to port **8888** for the web server and **8889** for MySQL. Both are well above 1024 and can be opened by a normal user process without elevated permissions.
The only visible consequence is that you have to include the port number in local URLs:
```plaintext
http://localhost:8888/my-project/
```
instead of just:
```plaintext
http://localhost/my-project/
```
## When to change the ports
[Section titled “When to change the ports”](#when-to-change-the-ports)
You may want to switch to ports 80 and 3306 (the **Settings › Ports › “80 & 3306”** button) in two situations:
* **Your project hardcodes port 80.** Some CMS configurations or scripts assume the web server is on the standard port and break when they see `:8888` in a URL.
* **You want URLs without a port number.** Some developers prefer `http://localhost/` for a cleaner address bar.
Note
If another application on your Mac is already using port 80 (for example, another web server), MAMP will fail to start until the conflict is resolved. MAMP’s default ports of 8888 and 8889 exist precisely to avoid these conflicts in typical setups.
# What is a local development environment?
> Why run a web server on your own Mac? What problem does MAMP solve, and what does the abbreviation stand for?
## The problem with developing on a live server
[Section titled “The problem with developing on a live server”](#the-problem-with-developing-on-a-live-server)
A website that uses PHP or a database cannot simply be opened as a file in a browser. It needs a web server to process the PHP code and a database server to store and retrieve data. The most obvious place to run these is on the server that also hosts the live website.
Working directly on a live server has serious drawbacks, though. Every mistake is immediately visible to visitors. Testing new features is risky. An accidentally broken database query takes down the whole site. And you need an internet connection to do any work at all.
## The solution: a server on your own Mac
[Section titled “The solution: a server on your own Mac”](#the-solution-a-server-on-your-own-mac)
A local development environment moves the web server, database, and PHP interpreter from a remote machine to your own computer. You work on files locally, run the same server software you would use in production, and only publish changes once you are satisfied with the result.
Nothing is publicly accessible. You can break things, experiment freely, and work offline. The feedback loop is immediate – there is no upload step, no waiting.
## What MAMP provides
[Section titled “What MAMP provides”](#what-mamp-provides)
MAMP stands for **macOS**, **Apache**, **MySQL**, **PHP** – the core components the application bundles together. MAMP also includes **Nginx** as an alternative web server.
* **Apache** and **Nginx** are web servers. Apache is the default; Nginx is available as an alternative. Both receive requests for URLs like `http://localhost:8888/hello.php` and return the appropriate response. You can choose which one to use.
* **MySQL** is the database server. It stores structured data that PHP scripts can read and write.
* **PHP** is the scripting language that runs on the server. The web server hands `.php` files to PHP for processing before sending the result to the browser.
Before MAMP, setting up these components on a Mac individually required working with the command line and editing configuration files. MAMP packages them into a single application with a graphical interface and a one-click start.
## Local and production environments
[Section titled “Local and production environments”](#local-and-production-environments)
A local environment gives you speed, safety, and independence from an internet connection. You can experiment freely, break things without consequences, and see results instantly – no upload step, no waiting.
One thing to keep in mind: a local setup is not necessarily an exact mirror of your live server. PHP version, web server configuration, and available modules may differ depending on your hosting provider. It is good practice to verify that your project works as expected in production before going live – which is true regardless of which local development tool you use.
# FAQ
> Frequently asked questions about MAMP – quick answers organized by topic.
Quick answers to common questions. For step-by-step task guides, see the [How-to guides](/en/MAMP-Mac/How-to/).
[General ](/en/MAMP-Mac/FAQ/General/)Download, compatibility, settings, and log files.
[Apache ](/en/MAMP-Mac/FAQ/Apache/)Apache modules included in MAMP.
[MySQL ](/en/MAMP-Mac/FAQ/MySQL/)MySQL storage engines and configuration.
[PHP ](/en/MAMP-Mac/FAQ/PHP/)PHP modules and php.ini location.
[CMS ](/en/MAMP-Mac/FAQ/CMS/)Installing WordPress, Drupal, and Joomla.
# Apache
> FAQ about Apache in MAMP: which modules are included and how to enable them.
[Which Apache modules are included in MAMP? ](/en/MAMP-Mac/FAQ/Apache/Which-Apache-modules-are-included-in-MAMP/)
Tip
To enable or configure Apache modules, see [Enable mod\_rewrite in Apache](/en/MAMP-Mac/How-to/Enable-mod_rewrite/).
# Which Apache modules are included in MAMP?
> All Apache modules are located in /Applications/MAMP/Library/modules/.
More control with MAMP PRO
[MAMP PRO](/en/MAMP-PRO-Mac/Settings/Server/Apache/) lets you enable and disable individual Apache modules directly in the UI.
All Apache modules are located in the directory `/Applications/MAMP/Library/modules/`.

***
← [Apache](/en/MAMP-Mac/FAQ/Apache/)
# CMS
> Installing WordPress, Drupal, and Joomla locally with MAMP.
Step-by-step CMS installation guides are in the How-to section:
[Install WordPress ](/en/MAMP-Mac/How-to/Install-WordPress/)Set up a local WordPress installation with MAMP.
[Install Drupal ](/en/MAMP-Mac/How-to/Install-Drupal/)Set up a local Drupal installation with MAMP.
[Install Joomla ](/en/MAMP-Mac/How-to/Install-Joomla/)Set up a local Joomla installation with MAMP.
# General
> General FAQ about MAMP: download, macOS compatibility, folder location, settings, and log files.
[Where can I download MAMP? ](/en/MAMP-Mac/FAQ/General/Where-can-I-download-MAMP/)
[With which macOS versions is MAMP compatible? ](/en/MAMP-Mac/FAQ/General/With-which-macOS-versions-is-MAMP-compatible/)
[Does the MAMP folder have to be in the Applications folder? ](/en/MAMP-Mac/FAQ/General/Does-the-MAMP-folder-have-to-be-in-the-Applications-folder/)
[Can I delete the directory MAMP\_xxxx? ](/en/MAMP-Mac/FAQ/General/Can-I-delete-the-directory-MAMP_xxxx/)
[How do I access my MAMP settings? ](/en/MAMP-Mac/FAQ/General/How-do-I-access-my-MAMP-settings/)
[Where can I find the log files of MAMP and its components? ](/en/MAMP-Mac/FAQ/General/Where-can-I-find-the-log-files-of-MAMP-and-its-components/)
# Can I delete the directory MAMP_xxxx?
> Yes – the MAMP_[date] backup folder created during installation can safely be deleted once your new setup works.
The installer will rename your existing `/Applications/MAMP` to `/Applications/MAMP_[date]`. This folder can safely be deleted once you have verified that your new setup works. You can keep it if you want the option to revert to your original setup.
***
← [General](/en/MAMP-Mac/FAQ/General/)
# Does the MAMP folder have to be in the Applications folder?
> Yes – MAMP must be installed in /Applications to work correctly.
Yes, the MAMP folder must be in the Applications folder. If this is not the case, MAMP will not work.
***
← [General](/en/MAMP-Mac/FAQ/General/)
# How do I access my MAMP settings?
> Open Settings via MAMP › Settings in the menu bar, or click the Settings button in the MAMP toolbar.
You can access your settings via the menu bar (**MAMP › Settings**) or by clicking the **Settings** button in the toolbar. See the [Settings reference](/en/MAMP-Mac/Reference/Settings/) for details.

***
← [General](/en/MAMP-Mac/FAQ/General/)
# Where can I download MAMP?
> Download the latest version of MAMP from mamp.info/downloads.
Download the latest version of MAMP from .
***
← [General](/en/MAMP-Mac/FAQ/General/)
# Where can I find the log files of MAMP and its components?
> All MAMP log files are stored in /Applications/MAMP/logs/.
All MAMP log files are stored in `/Applications/MAMP/logs/`.
* Applications/
* MAMP/
* logs/
* apache\_error.log
* apache\_access.log
* mysql\_error\_log
* nginx\_access.log
* nginx\_error.log
* php\_error.log
***
← [General](/en/MAMP-Mac/FAQ/General/)
# With which macOS versions is MAMP compatible?
> MAMP requires macOS 11 or later. Check your version under Apple › About This Mac.
MAMP requires at least macOS 11. You can find your macOS version in the menu: Apple › About This Mac.

***
← [General](/en/MAMP-Mac/FAQ/General/)
# MySQL
> FAQ about MySQL in MAMP: storage engines and database configuration.
[How do I check the Default Storage Engine of MySQL? ](/en/MAMP-Mac/FAQ/MySQL/How-do-I-check-the-Default-Storage-Engine-of-MySQL/)
Tip
For step-by-step MySQL tasks, see [Change the MySQL root password](/en/MAMP-Mac/How-to/Change-MySQL-root-password/) and [Connect to MySQL from PHP](/en/MAMP-Mac/How-to/Connect-to-MySQL-from-PHP/).
# How do I check the Default Storage Engine of MySQL?
> Use the MySQL command line to query information_schema and identify which storage engine has DEFAULT status.
1. Open MAMP.
2. Start the servers.
3. Open **Terminal.app** in `/Applications/Utilities/`.
4. Navigate to the MySQL binary directory. Enter the path for your MySQL version and press Enter:
* MySQL 5.7: `cd /Applications/MAMP/Library/bin/mysql57/bin`
* MySQL 8: `cd /Applications/MAMP/Library/bin/mysql80/bin`
5. Connect to MySQL and press Enter:
```plaintext
./mysql --host=localhost -u root -proot
```
6. Select the information schema and press Enter:
```sql
USE information_schema;
```
7. Query the storage engines and press Enter:
```sql
SELECT * FROM engines;
```
8. A table with all storage engines appears. The default storage engine is marked as `DEFAULT` in the **Support** column.

9. Exit MySQL:
```plaintext
exit;
```
***
← [MySQL](/en/MAMP-Mac/FAQ/MySQL/)
# PHP
> FAQ about PHP in MAMP: included modules and php.ini location.
[Which PHP modules are included in MAMP? ](/en/MAMP-Mac/FAQ/PHP/Which-PHP-modules-are-included-in-MAMP/)
[Where can I find the php.ini file? ](/en/MAMP-Mac/FAQ/PHP/Where-can-I-find-the-php.ini-file/)
Tip
To edit PHP settings, see [Change the PHP configuration (php.ini)](/en/MAMP-Mac/How-to/Change-PHP-configuration/).
# Where can I find the php.ini file?
> The php.ini file for each PHP version is located at /Applications/MAMP/bin/php/phpx.y.z/conf/php.ini.
There is a separate php.ini file for each PHP version included in MAMP (where “x.y.z” stands for the PHP version number):
`/Applications/MAMP/bin/php/phpx.y.z/conf/php.ini`
***
← [PHP](/en/MAMP-Mac/FAQ/PHP/)
# Which PHP modules are included in MAMP?
> Open phpInfo via the WebStart page to see a full list of installed PHP modules.
1. Open MAMP.
2. Start the servers.
3. Click **WebStart** in the toolbar.
4. Open **Tools → phpInfo**. The phpInfo page lists all installed PHP modules.
***
← [PHP](/en/MAMP-Mac/FAQ/PHP/)
# How-to guides
> Step-by-step guides for specific tasks in MAMP for macOS – installation, configuration, CMS setup, and more.
These guides help you accomplish specific tasks with MAMP. If you are new to MAMP, start with the tutorial [Your first local website](/en/MAMP-Mac/Tutorial/Your-first-local-website/).
## Installation
[Section titled “Installation”](#installation)
[Install MAMP ](/en/MAMP-Mac/How-to/Install-MAMP/)Fresh installation of MAMP on macOS.
[Upgrade MAMP ](/en/MAMP-Mac/How-to/Upgrade-MAMP/)Upgrading from MAMP 4, 5, or 6.
[Uninstall MAMP ](/en/MAMP-Mac/How-to/Uninstall-MAMP/)Complete removal from your Mac.
## Configuration
[Section titled “Configuration”](#configuration)
[Change the PHP configuration ](/en/MAMP-Mac/How-to/Change-PHP-configuration/)Edit php.ini settings for the active PHP version.
[Change the MySQL root password ](/en/MAMP-Mac/How-to/Change-MySQL-root-password/)Set a new password for the MySQL root user.
[Enable mod\_rewrite in Apache ](/en/MAMP-Mac/How-to/Enable-mod_rewrite/)Activate Apache's URL rewriting module.
## Development
[Section titled “Development”](#development)
[Connect to MySQL from PHP ](/en/MAMP-Mac/How-to/Connect-to-MySQL-from-PHP/)Connect to the MAMP MySQL server using PDO or mysqli.
[Transfer your website to a new Mac ](/en/MAMP-Mac/How-to/Transfer-to-new-Mac/)Move your MAMP setup and database to another Mac.
## CMS installation
[Section titled “CMS installation”](#cms-installation)
[Install WordPress ](/en/MAMP-Mac/How-to/Install-WordPress/)Set up a local WordPress installation with MAMP.
[Install Drupal ](/en/MAMP-Mac/How-to/Install-Drupal/)Set up a local Drupal installation with MAMP.
[Install Joomla ](/en/MAMP-Mac/How-to/Install-Joomla/)Set up a local Joomla installation with MAMP.
## Cloud
[Section titled “Cloud”](#cloud)
[Purchase MAMP Cloud ](/en/MAMP-Mac/How-to/Purchase-MAMP-Cloud/)Buy Cloud Functions, register your license, and sign in to your cloud provider.
# Change the MySQL root password
> How to change the password of the MySQL root user in MAMP.
Caution
After changing the MySQL root password, you must also update the phpMyAdmin configuration files and any of your own PHP scripts that connect to MySQL with the root user.
## Steps
[Section titled “Steps”](#steps)
1. Make sure the MySQL server is running in MAMP.
2. Open the **Terminal** application (`/Applications/Utilities/Terminal`).
3. Run the command for your MySQL version, replacing `[NewPassword]` with your chosen password:
**MySQL 5.7:**
```plaintext
/Applications/MAMP/Library/bin/mysql57/bin/mysqladmin -u root -p password [NewPassword]
```
**MySQL 8.0:**
```plaintext
/Applications/MAMP/Library/bin/mysql80/bin/mysqladmin -u root -p password [NewPassword]
```
4. Enter the current root password when prompted (the default is `root`).
## Update phpMyAdmin
[Section titled “Update phpMyAdmin”](#update-phpmyadmin)
Open each of the following files in a text editor and update the password value:
* `/Applications/MAMP/bin/phpMyAdmin/config.inc.php`
* `/Applications/MAMP/bin/phpMyAdmin5/config.inc.php`
* `/Applications/MAMP/bin/phpMyAdmin6/config.inc.php`
# Change the PHP configuration (php.ini)
> How to edit the php.ini file to change PHP settings in MAMP.
More control with MAMP PRO
In MAMP, PHP settings apply globally to all projects. [MAMP PRO](/en/MAMP-PRO-Mac/Menu/File/) lets you configure PHP settings individually per host – useful when different projects require different configurations.
## Steps
[Section titled “Steps”](#steps)
1. Start MAMP.
2. Stop the servers if they are running.
3. Note which PHP version is currently selected in the main window.
4. Open the `php.ini` file for that PHP version in a text editor. The file is located at:
```plaintext
/Applications/MAMP/bin/php/phpX.Y.Z/conf/php.ini
```
Replace `X.Y.Z` with your PHP version number (e.g. `php8.3.30`).
5. Edit the desired values.
6. Save the file.
7. Start the servers.
# Connect to MySQL from PHP
> How to connect to the MAMP MySQL server from a PHP script using PDO or mysqli.
The following examples show how to connect to the MAMP MySQL database from PHP. The default MySQL credentials in MAMP are username `root` and password `root`.
**PDO** is the recommended approach – it is database-independent, uses exceptions for error handling, and works with any modern PHP framework. **mysqli** is simpler and fine for quick scripts or legacy projects.
## PDO (recommended)
[Section titled “PDO (recommended)”](#pdo-recommended)
### Connect via network
[Section titled “Connect via network”](#connect-via-network)
```php
PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]); echo 'Connected successfully.';} catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage();}
```
### Connect using a Unix socket
[Section titled “Connect using a Unix socket”](#connect-using-a-unix-socket)
```php
PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, ]); echo 'Connected successfully.';} catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage();}
```
## mysqli
[Section titled “mysqli”](#mysqli)
### Connect via network
[Section titled “Connect via network”](#connect-via-network-1)
```php
Host information: ' . $mysqli->host_info; $mysqli->close();} catch (mysqli_sql_exception $e) { echo 'Connection failed: ' . $e->getMessage();}
```
### Connect using a Unix socket
[Section titled “Connect using a Unix socket”](#connect-using-a-unix-socket-1)
```php
Host information: ' . $mysqli->host_info; $mysqli->close();} catch (mysqli_sql_exception $e) { echo 'Connection failed: ' . $e->getMessage();}
```
## Further reading
[Section titled “Further reading”](#further-reading)
* [PHP PDO documentation](https://www.php.net/pdo)
* [PHP mysqli documentation](https://www.php.net/mysqli)
# Enable mod_rewrite in Apache
> How to enable the Apache mod_rewrite module in MAMP to use rewrite rules in .htaccess files.
More control with MAMP PRO
[MAMP PRO](/en/MAMP-PRO-Mac/Settings/Server/Apache/) lets you enable and disable individual Apache modules directly in the UI.
Caution
If rewrite rules in your `.htaccess` file cause a 500 error, mod\_rewrite is likely not enabled. Follow these steps to enable it.
1. Stop the servers.
2. Quit MAMP.
3. Open `/Applications/MAMP/conf/apache/httpd.conf` in a text editor.
4. Find the following line:
```plaintext
#LoadModule rewrite_module modules/mod_rewrite.so
```
5. Remove the `#` at the beginning of the line.
6. Save the file.
7. Start MAMP and start the servers.
# Install Drupal
> How to install Drupal locally with MAMP on macOS.
Easier with MAMP PRO
[MAMP PRO](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/Extras/Drupal/) can install Drupal automatically – no manual download, no database setup, no wizard. Each installation gets its own domain and document root.
## Steps
[Section titled “Steps”](#steps)
1. Download Drupal from [drupal.org/download](https://www.drupal.org/download). The zip file will be saved to your `~/Downloads` folder.
2. Unzip `drupal-x.x.x.zip`. This creates a `~/Downloads/drupal-x.x.x` folder.
3. Move the contents of that folder to `/Applications/MAMP/htdocs`. If asked whether to overwrite the existing `index.php`, click **Replace**.

4. In MAMP, click **WebStart** in the toolbar, then open **phpMyAdmin** from the tools menu.
5. Create a new database named `drupal`.

The message “No tables found in database.” is expected – Drupal creates its tables automatically during installation.

6. In MAMP, click **WebStart**, then click **My Website**. The Drupal installation wizard opens automatically.
7. Choose your language.

8. Select an installation profile.

9. Enter the database details:
| Field | Value |
| ------------- | --------------------------------------------- |
| Database type | MySQL, MariaDB, Percona Server, or equivalent |
| Database Name | `drupal` |
| Username | `root` |
| Password | `root` |
| Host | `localhost` |
| Port | `3306` or `8889` |

10. Wait for Drupal to install.

11. Complete the site configuration.

# Install Joomla
> How to install Joomla locally with MAMP on macOS.
Easier with MAMP PRO
[MAMP PRO](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/Extras/Joomla/) can install Joomla automatically – no manual download, no database setup, no wizard. Each installation gets its own domain and document root.
## Steps
[Section titled “Steps”](#steps)
1. Download Joomla from [downloads.joomla.org](https://downloads.joomla.org/). The zip file will be saved to your `~/Downloads` folder.
2. Unzip `Joomla_x.x.x-Stable-Full_Package.zip`. This creates a `~/Downloads/Joomla_x.x.x-Stable-Full_Package` folder.
3. Move the contents of that folder to `/Applications/MAMP/htdocs`. If asked whether to overwrite the existing `index.php`, click **Replace**.

4. In MAMP, click **WebStart** in the toolbar, then open **phpMyAdmin** from the tools menu.
5. Create a new database named `joomla`.

The message “No tables found in database.” is expected – Joomla creates its tables automatically during installation.

6. In MAMP, click **WebStart**, then click **My Website**. The Joomla installation wizard opens automatically.
7. Select your installation language and enter a site name.

8. Set up your administrator login.

9. Enter the database details:
| Field | Value |
| ------------- | -------------------------------- |
| Database Type | `MySQLi` |
| Host Name | `localhost` |
| Username | `root` |
| Password | `root` |
| Database Name | `joomla` |
| Table Prefix | `jo_` (or any prefix you choose) |

10. Wait for the installation to complete.

11. Installation is complete.

# Install MAMP
> How to install MAMP on macOS for the first time.
## Before you begin
[Section titled “Before you begin”](#before-you-begin)
Make sure your system meets the following requirements:
* macOS Big Sur 11 or later
* A user account that belongs to the Admin group (check via **System Settings › Users & Groups**)
## Steps
[Section titled “Steps”](#steps)
1. Download the **MAMP & MAMP PRO Downloader** from [www.mamp.info](https://downloads.mamp.info/MAMP-PRO/macOS/MAMP-PRO/MAMP-MAMP-PRO-Downloader.zip).
2. Double-click the downloaded `MAMP-MAMP-PRO-Downloader.zip` to unpack it.
3. Double-click **MAMP & MAMP PRO Downloader.app**.
4. The downloader fetches the appropriate version for your system and starts the installer.
5. Follow the system installer to complete the installation.
The installer places the **MAMP** folder and the **MAMP PRO** application in your `/Applications` directory. Do not move or rename the MAMP folder after installation.
# Install WordPress
> How to install WordPress locally with MAMP on macOS.
Easier with MAMP PRO
[MAMP PRO](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/Extras/WordPress/) can install WordPress automatically – no manual download, no database setup, no wizard. Each installation gets its own domain and document root.
Note
If you are using MAMP’s default ports (8888, 8889) and Safari with the AdBlock extension, the WordPress installation may fail. Pause AdBlock in Safari for the duration of the installation.
## Steps
[Section titled “Steps”](#steps)
1. Download WordPress from [wordpress.org/download](https://wordpress.org/download/#download-install). The zip file will be saved to your `~/Downloads` folder.
2. Unzip `wordpress-x.x.x.zip`. This creates a `~/Downloads/wordpress` folder.
3. Move the contents of that folder to `/Applications/MAMP/htdocs`. If asked whether to overwrite the existing `index.php`, click **Replace**.

4. In MAMP, click **WebStart** in the toolbar, then open **phpMyAdmin** from the tools menu.
5. Create a new database named `wordpress`.

The message “No tables found in database.” is expected – WordPress creates its tables automatically during installation.

6. In MAMP, click **WebStart**, then click **My Website**. The WordPress installation wizard opens automatically.
7. Select your language.

8. Enter the database details:
| Field | Value |
| ------------- | ----------- |
| Database Name | `wordpress` |
| Username | `root` |
| Password | `root` |
| Database Host | `localhost` |
| Table Prefix | `wp_` |

9. Complete the remaining steps in the installation wizard.

10. WordPress is now installed. Log in at `http://localhost:8888/wp-admin/` with the credentials you set in the wizard.

# Purchase and set up MAMP Cloud
> How to purchase Cloud Functions for MAMP, register your license, and sign in to your cloud provider.
1. Click the **Cloud** icon in the MAMP interface to begin the purchase process for cloud functions. 
2. Click **Purchase Cloud** to buy Cloud Functions for MAMP. You will be guided through the purchase process. 
3. After purchasing Cloud Functions, you can register your purchase. 

## Sign in
[Section titled “Sign in”](#sign-in)
After registering Cloud Functions for MAMP, you can sign in. Open Settings, switch to the **Cloud** tab, and select your preferred cloud provider.

# Transfer your website to a new Mac
> How to move your MAMP website files and database to a new Mac.
Easier with MAMP PRO
[MAMP PRO Snapshots](/en/MAMP-PRO-Mac/Sites/Snapshots/) let you save and restore a complete snapshot of your site – files and database in one go. Transferring to a new Mac becomes a matter of taking a snapshot on the old machine and restoring it on the new one.
## Steps
[Section titled “Steps”](#steps)
1. Install MAMP on the new Mac.
2. Copy the contents of your document root folder from the old Mac to the document root folder on the new Mac. The default location is `/Applications/MAMP/htdocs`.
3. On the old Mac, open phpMyAdmin and export your database as a SQL dump file.
4. Copy the dump file to the new Mac.
5. On the new Mac, open phpMyAdmin and import the dump file to restore your database.
# Uninstall MAMP
> How to completely remove MAMP from your Mac.
1. Delete the `/Applications/MAMP` folder. This removes MAMP and all its components. MAMP does not modify anything else in macOS, so no other cleanup is required.
2. If you have **MAMP Cloud Functions** installed, also delete `/Library/Application Support/appsolute/MAMP`.
3. If you also used **MAMP PRO**, run the [MAMP PRO Uninstaller](/en/MAMP-PRO-Mac/How-to/Uninstall-MAMP-PRO/) to remove it.
# Upgrade MAMP
> How to upgrade from MAMP 4, 5, or 6 to the current version.
## Upgrading from MAMP 5 or MAMP 6
[Section titled “Upgrading from MAMP 5 or MAMP 6”](#upgrading-from-mamp-5-or-mamp-6)
1. Run the MAMP installer. If it detects an existing installation, it automatically preserves the data in `/Applications/MAMP/htdocs` and `/Applications/MAMP/conf/ssl`, copies your databases to the new installation, and renames the old MAMP folder.
2. Before starting MAMP, confirm that all your data has been transferred correctly.
3. Your `/Applications/MAMP_[date]` backup folder can now be deleted. Keep it if you want the option to revert.
## Upgrading from MAMP 4
[Section titled “Upgrading from MAMP 4”](#upgrading-from-mamp-4)
1. Run the MAMP installer. It preserves `/Applications/MAMP/htdocs` and `/Applications/MAMP/conf/ssl`, copies your databases, and renames the old MAMP folder.
2. If your database files have not previously been upgraded to MySQL 5.7, you will be prompted to do so during installation.

3. Before launching MAMP, confirm that all data has been transferred correctly. Keep the `/Applications/MAMP_[date]` backup folder if you want the option to revert.
### Upgrading your database data
[Section titled “Upgrading your database data”](#upgrading-your-database-data)
The first time you start the servers after upgrading from MAMP 4, you will be prompted to upgrade your database to MySQL 5.7.
1. Click **OK** when prompted.

2. Click **Upgrade**.

# Installation
> Installation guides for MAMP on macOS: fresh install, upgrade, and uninstall.
Before installing, check the [System Requirements](/en/MAMP-Mac/Reference/System-requirements/).
[Install MAMP ](/en/MAMP-Mac/How-to/Install-MAMP/)Fresh installation of MAMP on macOS.
[Upgrade MAMP ](/en/MAMP-Mac/How-to/Upgrade-MAMP/)Upgrading from MAMP 4, 5, or 6 to the current version.
[Uninstall MAMP ](/en/MAMP-Mac/How-to/Uninstall-MAMP/)Complete removal of MAMP from your Mac.
# Reference
> Reference documentation for MAMP on macOS: interface, system requirements, settings, menu, and cloud functions.
[System Requirements ](/en/MAMP-Mac/Reference/System-requirements/)Minimum macOS version and required account privileges.
[MAMP Interface ](/en/MAMP-Mac/Reference/Interface/)Toolbar buttons, main area controls, and PHP version selector.
[Menu ](/en/MAMP-Mac/Reference/Menu/)All MAMP menu items and what they do.
[Settings ](/en/MAMP-Mac/Reference/Settings/)All settings tabs: General, Ports, Server, and Cloud.
[MAMP Cloud ](/en/MAMP-Mac/Reference/Cloud/)Save and load server data to a cloud provider, with optional encryption.
# MAMP Cloud
> How to save and load your local server data to a cloud provider using MAMP Cloud Functions, with optional AES encryption.
Note
Your files and database are not synced automatically; you must manually save and load your data using the “Save to Cloud” and “Load from Cloud” commands.
Use the cloud functions to save to and load from the cloud.

* Status
Indicates whether your Cloud Functions are on or off.
* Cloud provider
The cloud provider you have selected is displayed here.
* Document root
The document root of your localhost, which will be saved to and loaded from the cloud.
* Database name
Optional: select a database to include when saving your localhost to the cloud. You can configure this in the [cloud settings](/en/MAMP-Mac/Reference/Settings/Cloud/).
* * Save to Cloud
* Load from Cloud
- After you log in to your cloud provider and choose your settings, you can save your data to the cloud. Click \*\*Save to Cloud\*\* to begin the process. Your data consists of a zip file containing your document root files and database data.

- Your data will be loaded from the cloud.

A backup of your local data is made before loading data from the cloud. You can delete this backup if you have successfully loaded from the cloud.

## Encryption
[Section titled “Encryption”](#encryption)
Optionally encrypt your data before transferring it to the cloud using the Advanced Encryption Standard (AES). You provide an encryption key, which is stored in the system keychain. Encryption cannot be configured while a cloud transfer is in progress.

Note
When you enable encryption, your files will be stored in the cloud with a .encryptedzip extension. Previously stored files will keep their .zip (unencrypted) extension until they are re-uploaded to the cloud.
# MAMP Interface
> Reference for the MAMP macOS interface: toolbar buttons, main area controls, and PHP version selector.
When you start MAMP, the main window gives you access to all core controls. Click **Start** on the toolbar to launch your local servers. The button color shows the current server status:
* gray = servers not running
* green = all servers running
* orange = not all servers running
The web server (Apache or Nginx) starts by default on port 8888, the database server (MySQL) on port 8889. When accessing your site in a browser, append the web server port to the URL, e.g.: `http://localhost:8888`

## Toolbar
[Section titled “Toolbar”](#toolbar)
* Settings
Opens the Settings dialog. See [Settings](/en/MAMP-Mac/Reference/Settings/) for details.
* PRO Tour
Opens a window introducing key features of MAMP PRO.
* Try PRO
Opens MAMP PRO.
* Cloud
Opens the MAMP Cloud features. See [MAMP Cloud](/en/MAMP-Mac/Reference/Cloud/) for details.
* WebStart
Opens the [WebStart](/en/MAMP-Mac/WebStart/) page in your default browser. Active only when a web server is running.
* Start / Stop
Starts or stops MAMP’s Apache/Nginx and MySQL services.
## Main Area
[Section titled “Main Area”](#main-area)
* Document root
The directory where MAMP serves your HTML and PHP files. Defaults to `/Applications/MAMP/htdocs`. Change it in [Settings › Server](/en/MAMP-Mac/Reference/Settings/Server/).
* Web server
Select which web server (Apache or Nginx) to use.
* PHP version
Choose between available PHP versions. The available versions depend on which version of MAMP is installed.
# Menu
> All MAMP menu items explained: MAMP, Servers, Tools, Cloud, and Help.
* MAMP
* About MAMP
Opens a dialog showing the version number and your serial number.
* Settings…
Opens the [Settings](/en/MAMP-Mac/Reference/Settings/) dialog.
* Quit MAMP
Quits MAMP. Whether the servers are stopped first depends on your configuration in [Settings › General](/en/MAMP-Mac/Reference/Settings/General/).
* Servers
* Start
Starts the MAMP web and database servers.
* Stop
Stops the MAMP web and database servers.
* Tools
* Check MySQL databases…
Opens the dialog for checking MySQL database tables for errors and upgrade needs. Only active when the MySQL server is running. See the [MySQL manual](https://dev.mysql.com/doc/refman/8.0/en/check-table.html) for details.
* Repair MySQL databases…
Opens the dialog for repairing MySQL databases. Not available for all storage engines. See the [MySQL manual](https://dev.mysql.com/doc/refman/8.0/en/repair-table.html) for details.
* Upgrade MySQL databases…
Opens the dialog for upgrading MySQL databases. See the [MySQL manual](https://dev.mysql.com/doc/refman/8.0/en/mysql-upgrade.html) for details.
* Servers & Fingerprints…
Opens the dialog showing saved fingerprints of your SFTP connections (see [Settings › Cloud](/en/MAMP-Mac/Reference/Settings/Cloud/)).
* Cloud
* Start Using Cloud
Sign in to your cloud account after registering MAMP Cloud.
* Purchase Cloud License
Starts the purchase process for MAMP Cloud Functions.
* Register Cloud…
Register your MAMP Cloud license after purchase.
* Save to Cloud
Saves your document root files and database as a zip file to your cloud provider.
* Load from Cloud
Loads your data from the cloud. A local backup is created first.
* Delete data from Cloud
Deletes the data stored in your cloud.
* Learn More
Opens the MAMP Cloud information page.
* Help
* Documentation
Opens this documentation.
* Release Notes
Opens the version history in your browser.
* How to upgrade from MAMP to MAMP PRO
Opens the [upgrade guide](/en/MAMP-PRO-Mac/Getting-started/MAMP-to-MAMP-PRO-Upgrade/) in this documentation.
* Take a MAMP PRO Tour
Opens an overview of [MAMP PRO](/en/MAMP-PRO-Mac/Getting-started/) features.
* Try MAMP PRO
Launches [MAMP PRO](/en/MAMP-PRO-Mac/Getting-started/).
# Settings
> Overview of all MAMP settings tabs: General, Ports, Server, and Cloud.
Open Settings via **MAMP › Settings…** (or `⌘` `,`) to configure how MAMP starts, which ports it uses, where your files are stored, and how cloud sync works.
| Tab | What you configure |
| --------------------- | --------------------------------------------------- |
| [General](./General/) | Startup behavior, PHP cache |
| [Ports](./Ports/) | Network ports for Apache, Nginx, and MySQL |
| [Server](./Server/) | MySQL version, document root directory |
| [Cloud](./Cloud/) | Cloud provider, encryption, MAMP Cloud registration |
# Cloud
> Connect a cloud provider, configure FTP/SFTP access, set up encryption, and manage your MAMP Cloud subscription.

## Connecting a cloud provider
[Section titled “Connecting a cloud provider”](#connecting-a-cloud-provider)
Select your cloud provider from the **Cloud Provider** dropdown. After selecting a provider, your browser opens the provider’s website where you authorize MAMP to access your account.
The example below shows the Dropbox authorization flow:
1. Sign in to Dropbox.

2. Confirm that MAMP may access your Dropbox account. Access is limited to the “Apps/MAMP” folder. Click **Allow**.

3. Dropbox redirects you back to MAMP. Confirm the redirect in your browser when prompted.

### Cloud provider links
[Section titled “Cloud provider links”](#cloud-provider-links)
* Dropbox: [Log in](https://www.dropbox.com/login) · [Create an account](https://www.dropbox.com/register)
* Google Drive: [Create an account or Log in](https://drive.google.com/drive/my-drive)
* OneDrive: [Create an account or Log in](https://onedrive.live.com/login/)
## FTP/SFTP settings
[Section titled “FTP/SFTP settings”](#ftpsftp-settings)
Choosing **File Transfer (S)FTP** as your cloud provider lets you transfer data to your own server. A dialog opens in which you enter the connection details.

* Protocol
Select the transfer protocol: SFTP (port 22), FTP with TLS/SSL (21), FTP with implicit SSL (990), or FTP (21).
* Server
Hostname or IP address of your remote server.
* Port
Port for the selected protocol.
* User Name
Your username on the remote server.
* Password
Your password on the remote server.
* Cloud Folder
Remote directory where data will be stored. Click **Choose…** to browse the directory structure of your remote host.
## Database
[Section titled “Database”](#database)
Select which database is linked to your host. This database is included when data is transferred to the cloud.
## Encryption
[Section titled “Encryption”](#encryption)
Before transferring data, you can encrypt it using AES (Advanced Encryption Standard). The key is stored in the system keychain. Encryption cannot be configured while a cloud transfer is in progress.
To enable encryption, check **Encrypt data before upload**. Encrypted files are stored with an `.encryptedzip` extension.
Click **Set Encryption Key** to open the key dialog:

* New Key
The encryption key (16–32 characters).
* Verify
Re-enter the key to confirm.
* Set
Applies the key. Only active when the key is valid and verification matches.
* Cancel
Closes the dialog without saving.
## Managing cloud data
[Section titled “Managing cloud data”](#managing-cloud-data)
* Delete Now
Removes all data stored in the cloud. Your local data is not affected.

## MAMP Cloud registration
[Section titled “MAMP Cloud registration”](#mamp-cloud-registration)
MAMP Cloud is a paid add-on. The following controls appear depending on your registration status.
* Serial number *(registered)*
Displays the serial number currently in use.
* Buy now *(unregistered)*
Opens the MAMP website to purchase a license.
* Register *(unregistered)*
Opens the serial number entry dialog.
* Learn more *(unregistered)*
Opens the MAMP website with further information about MAMP Cloud.

After a successful registration, a confirmation dialog appears.

# General
> Configure startup behavior and PHP cache settings in MAMP.

* When starting MAMP
* Start servers
Apache/Nginx and MySQL start automatically when MAMP opens.
* Check for updates
MAMP checks for updates on launch and notifies you when one is available.
* Open WebStart Page
The [WebStart](/en/MAMP-Mac/WebStart/) page opens automatically when MAMP starts.
* When quitting MAMP
* Stop servers
Apache/Nginx and MySQL stop automatically when MAMP quits.
* PHP Cache
PHP cache extensions can speed up execution by storing compiled bytecode. Disabled by default. Enabling a cache does not guarantee a performance improvement; a cache option is only available if it supports the active PHP version.
Some caches provide a profiling UI – see the Tools menu on the [WebStart](/en/MAMP-Mac/WebStart/) page.
* off
No PHP cache module is used.
* APC
APC User Cache – a free, open opcode cache for PHP. [Learn more](https://www.php.net/manual/en/book.apcu.php).
* OPcache
Stores precompiled script bytecode in shared memory, so PHP skips parsing on every request. [Learn more](https://www.php.net/manual/en/book.opcache.php).
# Ports
> Set the network ports MAMP uses for Apache, Nginx, and MySQL. Adjust if another service conflicts with the defaults.
Server applications must be assigned to a specific network port so multiple services can run on one machine. Apache typically uses port 80, MySQL port 3306. MAMP defaults to 8888, 7888, and 8889 so its servers can run alongside other software on your Mac. Change these values if another application already uses them.

* Apache Port / Nginx Port / MySQL Port
The ports MAMP uses for HTTP connections to Apache and Nginx, and for connections to MySQL.
* Set Web & MySQL ports to
* MAMP default
Resets all ports to the MAMP defaults: Apache 8888, Nginx 7888, MySQL 8889.
* 80 & 3306
Sets ports to the standard internet values (Apache/Nginx 80, MySQL 3306).
# Server
> Choose your MySQL version and set the document root directory for MAMP.

* Use MySQL server
Choose between the available MySQL versions. Which versions are available depends on your installed version of MAMP.
* Document root
The directory where MAMP serves your HTML and PHP files. Defaults to `/Applications/MAMP/htdocs`. See [The document root](/en/MAMP-Mac/Explanation/Document-root/) for background.
# System Requirements
> System requirements for running MAMP on macOS: minimum OS version and required account privileges.
* macOS Big Sur 11 or later
* A user account that belongs to the Admin group (check via **System Settings › Users & Groups**)
# Tutorial
> Step-by-step tutorials for MAMP on macOS – guided learning experiences from start to finish.
Work through these tutorials to get hands-on experience with MAMP. Each tutorial guides you from start to finish with concrete steps and visible results along the way.
## [Your first local website](/en/MAMP-Mac/Tutorial/Your-first-local-website/)
[Section titled “Your first local website”](#your-first-local-website)
Start here if you’re new to MAMP. In about ten minutes you’ll have a running local web server and your first PHP page working in a browser. No prior experience required.
# Your first local website
> A step-by-step tutorial: start MAMP, serve an HTML page, and run your first PHP script – all in about ten minutes.
In this tutorial, we’ll start MAMP for the first time, confirm that the local web server is working, and create a simple PHP page that runs in your browser. By the end you’ll understand how files get from your Mac to a web browser without any internet connection.
**What you need:**
* MAMP installed on your Mac (see [Installation](/en/MAMP-Mac/Installation/))
* A plain-text editor – TextEdit (built into macOS), Visual Studio Code, or any other editor
**What you’ll learn:**
* How to start and stop MAMP’s servers
* Where to put your web files (the document root)
* The difference between a static HTML page and a PHP page
***
## Part 1: Start your local server
[Section titled “Part 1: Start your local server”](#part-1-start-your-local-server)
1. **Open MAMP.**
Open Finder, go to **Applications › MAMP**, and double-click **MAMP** (not MAMP PRO).

The MAMP window opens. The toolbar shows **Settings**, **Cloud**, **WebStart**, and **Start** – plus **PRO Tour** and **Try PRO** which you can ignore for now. The **Start** button on the right is the one we need. The servers are not running yet.
2. **Start the servers.**
Click the **Start** button in the top-right of the toolbar. MAMP may ask for your administrator password.

Once both servers are running, the button changes to **Stop** and its icon turns **green**. WebStart becomes active. You now have a local Apache web server and a MySQL database server running on your Mac.
3. **Confirm the server is working.**
Open your browser and go to:
```plaintext
http://localhost:8888
```

Checkpoint
If you see the “Welcome to MAMP” page, your local web server is up and running. Notice it also shows the document root (`/Applications/MAMP/htdocs`) and the active PHP version – useful details to keep in mind.
The address `http://localhost:8888` is your local web server. Port 8888 is the default MAMP uses so it doesn’t conflict with other software on your Mac.
***
## Part 2: Create your first HTML page
[Section titled “Part 2: Create your first HTML page”](#part-2-create-your-first-html-page)
The web server serves files from a specific folder on your Mac called the **document root**. Anything you put in that folder is accessible in the browser.
4. **Find the document root.**
Look at the **Document root** field in the MAMP main window. The default path is:
```plaintext
/Applications/MAMP/htdocs
```
Open this folder in Finder: choose **Go › Go to Folder…** from the menu bar, paste the path, and press Return. You’ll see a file called `index.php` – that’s the “Welcome to MAMP” page you just saw in your browser.
5. **Create a new HTML file.**
Open your text editor. If you’re using TextEdit, choose **Format › Make Plain Text** first (otherwise it saves as RTF, which won’t work).
Type the following, exactly as shown:
```html
My first local website Hello, MAMP!
My local web server is working.
```
6. **Save the file to the document root.**
Save the file as `hello.html` inside `/Applications/MAMP/htdocs/`.
Make sure the filename ends in `.html`, not `.html.txt`. In TextEdit, type the full name including the extension in the save dialog and confirm when asked to keep the `.html` ending.
7. **Open the page in your browser.**
Go to your browser and navigate to:
```plaintext
http://localhost:8888/hello.html
```

Checkpoint
The browser is talking to Apache running on your Mac, which read the `hello.html` file and sent it to the browser. This is exactly how a real web server works – just local instead of on the internet.
***
## Part 3: Add PHP
[Section titled “Part 3: Add PHP”](#part-3-add-php)
HTML pages are static – they look the same every time. PHP lets the server calculate and generate content dynamically. We’ll make a minimal PHP page to see this in action.
8. **Create a PHP file.**
Back in your text editor, create a new file and type:
```php
Hello from PHP!
Today is:
PHP version:
```
9. **Save it as `hello.php`.**
Save the file as `hello.php` in the same folder: `/Applications/MAMP/htdocs/`.
10. **Open the PHP page in your browser.**
Navigate to:
```plaintext
http://localhost:8888/hello.php
```

You’ll see today’s date (written out in full) and the PHP version number. These values were calculated by PHP on your server the moment you requested the page – they weren’t in the file you wrote.
Checkpoint
The `` tags are instructions to the server. Apache hands the file to PHP, PHP executes the code inside the tags, replaces it with the result, and sends the finished HTML to your browser. The browser never sees the PHP code itself.
***
## What you’ve learned
[Section titled “What you’ve learned”](#what-youve-learned)
* MAMP runs a local Apache web server and a MySQL database server on your Mac.
* Files in `/Applications/MAMP/htdocs/` are served at `http://localhost:8888/`.
* Static `.html` files are sent directly to the browser. PHP files are processed by the server first.
* You can stop the servers any time by clicking **Stop** in MAMP – your files stay in place.
## Where to go next
[Section titled “Where to go next”](#where-to-go-next)
* **[MAMP Interface](/en/MAMP-Mac/Reference/Interface/)** – a reference overview of the MAMP interface (toolbar, preferences, all options)
* **[How-to guides](/en/MAMP-Mac/How-to/)** – practical guides for specific tasks, like installing WordPress or changing the PHP version
* **[Settings](/en/MAMP-Mac/Reference/Settings/)** – change ports, the document root, MySQL version, and more
# WebStart
> The MAMP WebStart page – access phpInfo, phpMyAdmin, Adminer, phpLiteAdmin, PHP cache tools, and documentation links.
The MAMP WebStart page provides quick access to database tools, PHP information, and documentation.

## Tools
[Section titled “Tools”](#tools)
* * phpInfo
* phpMyAdmin
* Adminer
* phpLiteAdmin
* APC
* OPcache
- Shows detailed information about the active PHP configuration.

- Web-based administration tool for MySQL databases. MAMP includes three versions of phpMyAdmin to support different PHP versions – the active version is chosen based on the current PHP version.

- Lightweight web-based database administration tool, also written in PHP.

- Web-based administration tool for SQLite databases (SQLite3 and SQLite2).

- APC User Cache – a free, open-source opcode cache for PHP. [Learn more](https://www.php.net/manual/en/book.apcu.php).

- Stores precompiled script bytecode in shared memory so PHP skips parsing on every request. [Learn more](https://www.php.net/manual/en/book.opcache.php).

## Help
[Section titled “Help”](#help)
* Documentation
Opens this documentation.
* Bugbase
Report bugs or submit feature requests.
## Examples
[Section titled “Examples”](#examples)
Several code examples show how to connect to MySQL and SQLite databases using PHP and Python.
# Composer in MAMP PRO
> Composer in MAMP PRO
**Composer** is a tool for dependency management in PHP. It lets you install, update, and manage external PHP libraries. MAMP PRO comes with Composer pre-installed and provides a graphical interface for the most common Composer operations—no command line required.
## Composer Features in MAMP PRO
[Section titled “Composer Features in MAMP PRO”](#composer-features-in-mamp-pro)
The following functions are available:
* [Add Package](/en/MAMP-PRO-Mac/Composer/Add-Package/)
Install a new Composer package by entering the package name and optionally a version constraint (e.g., `monolog/monolog:^3.0`). The package will be downloaded and added to your "composer.json" file automatically.
* [Remove Package(s)](/en/MAMP-PRO-Mac/Composer/Remove-Packages/)
Remove one or more installed packages from your project. You can select the packages to be removed from a list of currently installed packages.
* [Update Package(s)](/en/MAMP-PRO-Mac/Composer/Update-Packages/)
Update selected or all installed packages to the latest versions that are compatible with your "composer.json" constraints.
* [Show Package Info](/en/MAMP-PRO-Mac/Composer/Show-Package-Info/)
View detailed information about a selected package, including its version, description, dependencies, and a link to the project homepage.
* [Show outdated Packages](/en/MAMP-PRO-Mac/Composer/Show-outdated-Packages/)
Display a list of all installed packages for which newer versions are available.
## Additional Information
[Section titled “Additional Information”](#additional-information)
* [Composer (official website)](https://getcomposer.org/)
* [Composer repository](https://packagist.org/)
# Add Package
> Add Package
MAMP PRO lets you add Composer packages to a site directly from its interface.

## Adding a Package
[Section titled “Adding a Package”](#adding-a-package)
1. **Open the Menu:** Select Site → Composer → Add Package… from the top menu.
2. **Search for a Package:** A dialog opens with a search field. Start typing the name of the Composer package you want. Matching packages from the [Packagist](https://packagist.org/) repository appear in real time.
3. **Select a Package:** Click on the package you want to add from the list.
4. **Optional: Add as a Development Package:** Enable the Add as dev package checkbox if the package is only needed for development purposes (e.g., debugging tools, testing frameworks). The package is then added to the “require-dev” section of the composer.json file.
5. **Install the Package:** Click Add to add the selected package to the current site. Composer installs the package automatically in the background.
Once installed, the package appears in the site’s composer.json file and is immediately available.
# Remove Package(s)
> Remove Package(s)
MAMP PRO lets you remove Composer packages from a site through its interface.

## Removing Packages
[Section titled “Removing Packages”](#removing-packages)
1. **Open the Menu:** Select Site → Composer → Remove Package(s) from the top menu.
2. **Select Packages to Remove:** A dialog opens listing all installed Composer packages for the selected site. You can select one or more packages from the list.
3. **Optional: Dry Run:** Enable the checkbox “Dry run” to simulate the removal process. This allows you to verify what changes would be made without modifying any files.
4. **Remove Packages:** Click Remove to uninstall the selected package(s). Composer removes the package in the background and updates the composer.json and composer.lock files.
After removal, the package(s) no longer appear in the site’s Composer configuration and are no longer available in the project.
# Show outdated Packages
> Show outdated Packages
MAMP PRO lets you check for outdated Composer packages for any site from a single menu command.
## Checking for Outdated Packages
[Section titled “Checking for Outdated Packages”](#checking-for-outdated-packages)
1. **Open the Menu:** Select Site → Composer → Show outdated Packages from the top menu.
2. **Terminal Opens Automatically:** MAMP PRO launches the Terminal app and automatically checks for outdated packages in the root directory of the selected site.
3. **View Outdated Packages:** The Terminal displays a list of installed packages that have newer versions available. The output includes the current and latest version numbers, as well as a short description for each package.
Using this feature regularly helps ensure that your site’s dependencies are secure and up to date.
# Show Package Info
> Show Package Info
MAMP PRO lets you view detailed information about any installed Composer package from its interface.

## Viewing Package Information
[Section titled “Viewing Package Information”](#viewing-package-information)
1. **Open the Menu:** Select Site → Composer → Show Package Info… from the top menu.
2. **Select a Package:** A dialog window displays a list of all Composer packages currently installed for the selected site. Choose the package you want to inspect.
3. **Show Info:** Click the Show Info button. MAMP PRO opens the Terminal app and runs a Composer command to display detailed information about the selected package.
The Terminal output may include the package version, description, authors, dependencies, required PHP version or extensions, license, and available updates.
# Update Package(s)
> Update Package(s)
MAMP PRO lets you update installed Composer packages directly from its interface.

## Updating Packages
[Section titled “Updating Packages”](#updating-packages)
1. **Open the Menu:** Select Site → Composer → Update Package(s) from the top menu.
2. **Select Packages to Update:** A dialog opens showing all Composer packages currently installed for the selected site. You can select one or more packages from the list.
3. **Optional: Dry Run:** Enable the “Dry run” checkbox to simulate the update process. This allows you to preview which changes would be made without modifying any files.
4. **Update Packages:** Click Update to update the selected package(s). Composer runs the update in the background and updates the composer.json and composer.lock files.
After the update completes, the selected packages are updated to the latest allowed versions as defined by the version constraints in the composer.json file.
# Edit Permissions
> Edit Permissions
The Edit Permissions dialog lets you view and change the file system permissions for a site’s document root – including all subdirectories and files within it. This is useful when the web server reports “access denied” errors or parts of a page fail to load due to incorrect ownership or access rights.

* Site
The name of the selected site.
* Document root
The path to the document root of the selected site.
* Owner
The user who owns the directory and all of its subdirectories and files. Use **change to** to select a new user.
* Group
The group that has access to the directory and all of its subdirectories and files. Use **change to** to select a new group.
* Access rights
For the web server to access the files in the document root and serve them to a browser, it needs proper permissions. If your web server is reporting "access denied" in its error log, or if parts of your web pages are missing, this may be due to access rights problems. MAMP PRO shows the access rights of the document root folder as well as all subdirectories and files within it. The following shortcuts are used: `r` = read, `w` = write, `x` = execute, `-` = not all objects have the same rights.
* Change directory rights
Select this checkbox if you want to change the permissions for directories.
* Change file rights
Select this checkbox if you want to change the permissions assigned to files.
# Editor
> Editor
Use the MAMP PRO Editor to edit your scripts directly. You can see your changes instantly in the RealView and inspect your RealView’s client-side code. You can also edit your remote files if your site has a connection to a remote server.

For information on customizing the editor settings, see [Editor Settings](/en/MAMP-PRO-Mac/Settings/Editor/).
## RealView
[Section titled “RealView”](#realview)
The RealView displays your web page next to your server-side source code. Click the button in the upper right corner of the Editor window’s title bar to show or hide the RealView.

## Save
[Section titled “Save”](#save)
When you make changes to a document and close it, you are asked if you want to save the changes.

* Yes
Click this button to save your changes and close the document.
* No
Click this button to close the document without saving the changes.
* Cancel
Click this button to cancel the operation.
# Explanation
> Conceptual background on key MAMP PRO topics: virtual hosts, PHP versions, and local SSL.
These articles explain the concepts behind MAMP PRO. They are not instructions – they are here to help you understand *why* things work the way they do.
[Virtual hosts ](/en/MAMP-PRO-Mac/Explanation/Virtual-hosts/)What virtual hosts are, how MAMP PRO uses them, and why they are more powerful than simple subfolders.
[PHP versions ](/en/MAMP-PRO-Mac/Explanation/PHP-versions/)How MAMP PRO manages multiple PHP versions and lets each site run a different one.
[Local SSL ](/en/MAMP-PRO-Mac/Explanation/Local-SSL/)What local SSL does, how self-signed certificates work, and when you need HTTPS in local development.
[Ports ](/en/MAMP-PRO-Mac/Explanation/Ports/)What ports are, why MAMP PRO uses non-standard ports by default, and when you might want to change them.
# Local SSL
> What local SSL does, how self-signed certificates work in MAMP PRO, and when you actually need HTTPS in local development.
## What SSL provides locally
[Section titled “What SSL provides locally”](#what-ssl-provides-locally)
SSL (technically TLS) encrypts the connection between the browser and the web server. In production, this prevents third parties from reading or tampering with the traffic. In local development, there is no network to eavesdrop on – so encryption itself is rarely why you need SSL locally.
The real reason to run HTTPS locally is **browser feature compatibility**. Several browser APIs and web platform features are only available in **secure contexts** (pages served over HTTPS or from `localhost`). If you develop locally over plain HTTP and your production site uses HTTPS, you may encounter behavior differences that are hard to debug:
| Feature | Requires secure context |
| ---------------------------------------- | ----------------------- |
| Service workers | ✅ |
| Web Authentication (WebAuthn / passkeys) | ✅ |
| Geolocation API | ✅ |
| `Secure` cookies | ✅ |
| HTTP/2 | ✅ (in most browsers) |
| Camera / microphone access | ✅ |
| Payment Request API | ✅ |
If your project uses any of these, you need HTTPS locally.
## Self-signed certificates vs. CA-signed certificates
[Section titled “Self-signed certificates vs. CA-signed certificates”](#self-signed-certificates-vs-ca-signed-certificates)
A production website uses a certificate signed by a trusted **Certificate Authority (CA)** – an organization like Let’s Encrypt or DigiCert whose root certificates are pre-installed in operating systems and browsers. When your browser sees a certificate signed by a known CA, it shows the padlock icon without any warning.
A **self-signed certificate** is signed by its own private key rather than by a CA. Browsers do not trust self-signed certificates by default because anyone can create one for any domain. The result is a browser warning (“Your connection is not private”) unless you explicitly tell your system to trust the certificate.
MAMP PRO generates self-signed certificates automatically for each site when you enable SSL. It also adds its root certificate to your macOS **Keychain** automatically, so all certificates it generates are trusted without browser warnings.
## How MAMP PRO manages SSL
[Section titled “How MAMP PRO manages SSL”](#how-mamp-pro-manages-ssl)
When you create a site in MAMP PRO, the SSL environment is set up automatically (on first use, MAMP PRO prompts you to complete this one-time setup). MAMP PRO acts as its own local **Certificate Authority** – it generates a root CA certificate and uses it to sign individual certificates for each of your sites.
To enable HTTPS for a site, go to [Sites › \[site name\] › SSL](/en/MAMP-PRO-Mac/Sites/Site/SSL/) and turn on the **Enable SSL** switch. MAMP PRO will:
1. Generate a certificate for the site’s domain
2. Configure Apache or Nginx to serve the site over HTTPS
3. Make the site accessible at `https://yoursite.local:443` (or on port 443 if you are using standard ports)
## HTTP and HTTPS ports
[Section titled “HTTP and HTTPS ports”](#http-and-https-ports)
MAMP PRO uses non-privileged ports by default (8888 for HTTP, 8890 for HTTPS) to avoid requiring administrator access on every server start. If you prefer standard ports (80 for HTTP, 443 for HTTPS), go to [Settings › Server › Ports](/en/MAMP-PRO-Mac/Settings/Server/Ports/) and click **80, 81, 443, 7443, 3306, 11211 & 6379**. Using standard ports means:
* URLs without port numbers: `https://myproject.local`
# PHP versions
> How MAMP PRO manages multiple PHP versions and lets each site run a different one independently – and what the Default PHP version means.
## Why multiple PHP versions exist
[Section titled “Why multiple PHP versions exist”](#why-multiple-php-versions-exist)
PHP releases new major versions every few years, with regular minor updates and patches in between. Each major version introduces changes that can break existing code – functions are renamed, removed, or changed in behavior. As a result, different projects often require different PHP versions:
* A WordPress site from 2019 may require PHP 7.4
* A modern Laravel application may require PHP 8.2 or higher
* A legacy system may be stuck on PHP 7.1
Many hosting providers let you choose a PHP version per site or virtual host – and MAMP PRO mirrors exactly this capability on your local machine. Each site can run its own PHP version independently, making it easy to replicate the exact server environment of each project.
## How MAMP PRO manages PHP versions
[Section titled “How MAMP PRO manages PHP versions”](#how-mamp-pro-manages-php-versions)
MAMP PRO ships with a range of PHP versions pre-installed under `/Applications/MAMP/bin/php/`. Each version is a complete, self-contained PHP installation with its own set of extensions and its own `php.ini` configuration file.
You select the PHP version for each site individually in the site settings under **Sites › \[site name] › General › Basic → PHP version**. The available options depend on which versions are installed.
## The Default PHP version
[Section titled “The Default PHP version”](#the-default-php-version)
Every site has two options for its PHP version:
* **Default (x.y.z)** – The site uses whatever version is currently set as the global default in **Settings › Languages › PHP**. If you change the default, all sites set to “Default” update automatically.
* **A specific version** – The site is pinned to that version regardless of what the default is.
This distinction matters in practice. If you have ten sites and you update the default PHP version to test compatibility, all sites on “Default” switch at once. Sites pinned to a specific version are unaffected. Use “Default” for new projects you actively maintain; use a pinned version for legacy code that must not change.
## php.ini configuration per version
[Section titled “php.ini configuration per version”](#phpini-configuration-per-version)
Each PHP version has its own `php.ini` file located at:
```plaintext
/Applications/MAMP/bin/php/phpX.Y.Z/conf/php.ini
```
In MAMP PRO, PHP settings must be edited via the **Template Editor** (File › Open Template › PHP). Editing `php.ini` directly has no effect – the file is regenerated from the template every time the servers restart.
Common settings you might need to adjust:
| Setting | What it controls |
| --------------------- | ------------------------------- |
| `memory_limit` | Maximum memory a script can use |
| `upload_max_filesize` | Maximum file size for uploads |
| `post_max_size` | Maximum size of POST data |
| `max_execution_time` | Maximum time a script may run |
| `xdebug.mode` | Xdebug operating mode |
## Checking the active PHP version
[Section titled “Checking the active PHP version”](#checking-the-active-php-version)
To confirm which PHP version a site is currently using, see [How can I check the local PHP settings?](/en/MAMP-PRO-Mac/How-to/PHP/How-can-I-check-the-local-PHP-settings/)
## PHP extensions and modules
[Section titled “PHP extensions and modules”](#php-extensions-and-modules)
Each PHP version comes with a set of pre-compiled extensions. To see which extensions are active for a given version, call `phpinfo()` or open **WebStart → Tools → phpInfo**.
If you need an extension that is not included, you can install it via PECL. See [Install a PHP extension using PECL](/en/MAMP-PRO-Mac/How-to/PHP/Install-a-PHP-extension-using-PECL/) for the procedure.
# Ports
> What ports are, why MAMP PRO uses non-standard ports by default, and when you might want to change them.
## What a port is
[Section titled “What a port is”](#what-a-port-is)
When two programs communicate over a network, they use an IP address to identify the machine and a **port number** to identify the specific service on that machine. A Mac running both a web server and a database server has one IP address but multiple ports – one for each service.
Think of it like a building: the street address (IP) tells you which building, and the apartment number (port) tells you which unit inside.
Port numbers range from 0 to 65535. Many common services have established default ports that software assumes when no port is specified:
| Service | Default port |
| ---------------------- | ------------ |
| HTTP (web) | 80 |
| HTTPS (web, encrypted) | 443 |
| MySQL | 3306 |
When you type `http://example.com` in a browser, the browser silently connects to port 80. No port number appears in the address bar because 80 is the understood default.
## Why MAMP PRO does not use port 80 by default
[Section titled “Why MAMP PRO does not use port 80 by default”](#why-mamp-pro-does-not-use-port-80-by-default)
On macOS, ports below 1024 are **privileged ports**. Only processes running with administrator rights can open them. If MAMP PRO used port 80, macOS would ask for your admin password every time the servers start.
MAMP PRO avoids this by defaulting to port **8888** for Apache and **8889** for MySQL. Both are well above 1024 and can be opened by a normal user process without elevated permissions. This also means MAMP PRO’s servers can run alongside other servers already installed on your Mac without port conflicts.
The only visible consequence is that you have to include the port number in local URLs:
```plaintext
http://localhost:8888/my-project/
```
instead of just:
```plaintext
http://localhost/my-project/
```
## When to change the ports
[Section titled “When to change the ports”](#when-to-change-the-ports)
You may want to switch to ports 80 and 3306 in two situations:
* **Your project hardcodes port 80.** Some CMS configurations or scripts assume the web server is on the standard port and break when they see `:8888` in a URL.
* **You want URLs without a port number.** Some developers prefer `http://localhost/` for a cleaner address bar.
Note
If another application on your Mac is already using port 80 (for example, another web server), MAMP PRO will fail to start until the conflict is resolved. MAMP PRO’s default ports exist precisely to avoid these conflicts in typical setups.
You can configure all ports under [Settings › Server › Ports](/en/MAMP-PRO-Mac/Settings/Server/Ports/).
# Virtual hosts
> What virtual hosts are, how MAMP PRO uses them to give each project its own domain, and why this is more powerful than using subfolders under localhost.
## What a virtual host is
[Section titled “What a virtual host is”](#what-a-virtual-host-is)
A **virtual host** is a configuration that tells a web server to serve different content depending on the domain name of the incoming request. A single Apache or Nginx instance can handle many virtual hosts simultaneously – each with its own domain, document root, PHP version, and SSL certificate.
This is the same technology that web hosting providers use to run thousands of websites on a single server. MAMP PRO brings it to your local Mac so that each of your projects gets its own isolated environment.
## How MAMP PRO implements virtual hosts
[Section titled “How MAMP PRO implements virtual hosts”](#how-mamp-pro-implements-virtual-hosts)
When you create a site in MAMP PRO, three things happen automatically:
1. **A virtual host entry is added** to the Apache or Nginx configuration, mapping the site name (e.g., `myproject.local`) to a folder on your Mac.
2. **An entry is added to `/etc/hosts`** so your Mac’s DNS resolver maps `myproject.local` to `127.0.0.1` (your own machine). This is why MAMP PRO occasionally asks for your administrator password – writing to `/etc/hosts` requires elevated privileges.
3. **An SSL certificate is generated** for the domain so you can also serve the site over HTTPS.
After creating a new site, MAMP PRO automatically restarts the servers with the updated configuration. From that point on, your browser can reach the site at its own domain.
## Virtual hosts vs. subfolders
[Section titled “Virtual hosts vs. subfolders”](#virtual-hosts-vs-subfolders)
Before virtual hosts became the norm in local development, the typical approach was to place all projects inside a single document root and access them via subfolders:
```plaintext
http://localhost:8888/project-a/http://localhost:8888/project-b/
```
This approach has several limitations:
| Subfolder approach | Virtual host approach |
| ------------------------------------------------- | ---------------------------------------------------------- |
| All projects share one PHP version | Each site can run a different PHP version |
| URLs don’t match production | URLs like `myproject.local` closely resemble production |
| No per-project SSL | Each site can have its own SSL certificate |
| One document root for everything | Each site has its own isolated document root |
| CMS installations may break with path assumptions | CMS tools work correctly with their expected URL structure |
## The role of /etc/hosts
[Section titled “The role of /etc/hosts”](#the-role-of-etchosts)
The file `/etc/hosts` is a local DNS override table. Every entry you add there tells your Mac to resolve a domain name to a specific IP address without consulting an external DNS server.
MAMP PRO manages these entries automatically. When you create a site named `myproject.local`, MAMP PRO adds:
```plaintext
127.0.0.1 myproject.local
```
When you delete the site, the entry is removed. You can inspect the current state of `/etc/hosts` in any text editor (with administrator privileges) or in Terminal:
```bash
cat /etc/hosts
```
## Configuration files
[Section titled “Configuration files”](#configuration-files)
MAMP PRO generates virtual host configuration files automatically from its own settings. You should **not edit these files directly** – any manual changes are overwritten the next time MAMP PRO restarts the servers.
If you need to customize server behavior beyond what the MAMP PRO UI offers, use the template system accessible via [File › Open Template](/en/MAMP-PRO-Mac/Menu/File/#open_template). Templates let you modify the generated configuration in a way that survives server restarts.
# FAQ
> Frequently asked questions about MAMP PRO for macOS – quick answers organized by topic.
Quick answers to common questions. For step-by-step guides, see the [How-to guides](/en/MAMP-PRO-Mac/How-to/).
[General ](/en/MAMP-PRO-Mac/FAQ/General/)Licensing, updates, configuration files, log files, error codes, and common setup questions.
[MySQL ](/en/MAMP-PRO-Mac/FAQ/MySQL/)Troubleshooting MySQL startup failures, slow performance, and database configuration.
[PHP ](/en/MAMP-PRO-Mac/FAQ/PHP/)Troubleshooting slow scripts and .user.ini issues.
[Apache ](/en/MAMP-PRO-Mac/FAQ/Apache/)Troubleshooting Apache startup failures and finding included modules.
[WordPress ](/en/MAMP-PRO-Mac/FAQ/WordPress/)Database connection errors, port changes, Nginx issues, and theme compatibility.
[Transfer & Hosting ](/en/MAMP-PRO-Mac/FAQ/Transfer/)Supported protocols, file types, MariaDB compatibility, and common transfer questions.
[Extras ](/en/MAMP-PRO-Mac/FAQ/Extras/)Questions about CMS availability in the Extras section.
# Apache
> Apache FAQ for MAMP PRO: troubleshooting startup failures and finding out which modules are included.
[Which Apache modules are included? ](/en/MAMP-PRO-Mac/FAQ/Apache/Which-Apache-modules-are-included/)
[Apache will not start ](/en/MAMP-PRO-Mac/FAQ/Apache/Apache-will-not-start/)
# Apache will not start
> Common reasons why Apache will not start in MAMP PRO and step-by-step troubleshooting.
## Another Apache process is running on the same port
[Section titled “Another Apache process is running on the same port”](#another-apache-process-is-running-on-the-same-port)
The most common reason Apache fails to start is that another `httpd` process is already using the same port. To check:
1. Quit MAMP PRO.
2. Open **Activity Monitor** (`/Applications/Utilities/Activity Monitor`).
3. In the **View** menu, select **All Processes**.
4. Type `httpd` into the search field in the top right.

5. Quit every `httpd` process listed in the results.
6. Start MAMP PRO again.
7. If Apache still does not start, check the [log file](/en/MAMP-PRO-Mac/FAQ/General/Where-can-I-find-the-log-files/) for error messages.
## Skype is using the same port
[Section titled “Skype is using the same port”](#skype-is-using-the-same-port)
Skype can occupy ports 80 or 443, which conflicts with Apache. Either quit Skype before starting the servers, or change the Apache ports in [Settings › Server › Ports](/en/MAMP-PRO-Mac/Settings/Server/Ports/).
## The Apache template file is damaged
[Section titled “The Apache template file is damaged”](#the-apache-template-file-is-damaged)
If you have manually edited the Apache template, a syntax error may prevent Apache from starting. Rename `httpd.conf.temp` to `httpd.conf.temp.bak` in `~/Library/Application Support/appsolute/MAMP PRO/templates` — MAMP PRO will then regenerate a clean template on the next start.
## A site has an invalid document root
[Section titled “A site has an invalid document root”](#a-site-has-an-invalid-document-root)
Apache will refuse to start if a site’s document root points to a directory that does not exist. Verify that all sites in the [Sites](/en/MAMP-PRO-Mac/Sites/) list have a valid document root.
***
← [Apache](/en/MAMP-PRO-Mac/FAQ/Apache/)
# Which Apache modules are included?
> Which Apache modules are bundled with MAMP PRO and where they are located on your Mac.
MAMP PRO includes Apache with a large set of pre-installed modules. You can view, enable, and disable individual modules in [Settings › Server › Apache](/en/MAMP-PRO-Mac/Settings/Server/Apache/). The module description shown there explains the features and purpose of each module.
The module files themselves are located at `/Applications/MAMP/Library/modules`.
***
← [Apache](/en/MAMP-PRO-Mac/FAQ/Apache/)
# Extras
> FAQ for the MAMP PRO Extras section, including questions about CMS availability.
[The last time I opened Extras, there was a Content Management System that is no longer available ](/en/MAMP-PRO-Mac/FAQ/Extras/The-last-time-I-opened-Extras-there-was-a-Content-Management-System-that-is-now-not-available/)
# The last time I opened Extras there was a Content Management System that is now not available
> Why a CMS that was previously available in MAMP PRO Extras may no longer appear in the list.
There are several possible reasons why an Extra may no longer appear in the list:
* **No internet connection** — MAMP PRO fetches the list of available Extras from the internet. If there is no connection, only previously installed Extras are shown.
* **PHP version incompatible** — An Extra is hidden if the PHP version of the current site does not meet the Extra’s minimum requirements.
* **Not enough disk space** — Some Extras require a minimum amount of free disk space to install.
* **Already installed** — Some Extras can only be installed once per site and will no longer appear after installation.
***
← [Extras](/en/MAMP-PRO-Mac/FAQ/Extras/)
# General
> General FAQ for MAMP PRO: licensing, updates, configuration files, log files, error codes, and common setup questions.
[What is MAMP PRO? ](/en/MAMP-PRO-Mac/FAQ/General/What-is-MAMP-PRO/)
[Are updates free of charge? ](/en/MAMP-PRO-Mac/FAQ/General/Are-updates-free-of-charge/)
[Can I use MAMP at the same time as MAMP PRO? ](/en/MAMP-PRO-Mac/FAQ/General/Can-I-use-MAMP-at-the-same-time-as-MAMP-PRO/)
[Is it possible to add an updated version of PHP? ](/en/MAMP-PRO-Mac/FAQ/General/Is-it-possible-to-add-an-updated-version-of-PHP/)
[Is the number of aliases for a site limited? ](/en/MAMP-PRO-Mac/FAQ/General/Is-the-number-of-aliases-for-a-site-limited/)
[Where can I find the log files? ](/en/MAMP-PRO-Mac/FAQ/General/Where-can-I-find-the-log-files/)
[Where are the MAMP PRO files created or changed? ](/en/MAMP-PRO-Mac/FAQ/General/Where-are-the-MAMP-PRO-files-created-or-changed/)
[What are the locations of the configuration files? ](/en/MAMP-PRO-Mac/FAQ/General/What-are-the-locations-of-the-configuration-files/)
[Where can I find more information on the various servers, interpreters, debuggers, and other tools that MAMP PRO uses? ](/en/MAMP-PRO-Mac/FAQ/General/Where-can-I-find-more-information-on-the-various-servers-interpreters-debuggers-and-other-tools-that-MAMP-PRO-uses/)
[Can I delete the directory MAMP\_xxxx? ](/en/MAMP-PRO-Mac/FAQ/General/Can-I-delete-the-directory-MAMP_xxxx/)
[How long does the demo version run? ](/en/MAMP-PRO-Mac/FAQ/General/How-long-does-the-demo-version-run/)
[How do I recover my license key / serial number? ](/en/MAMP-PRO-Mac/FAQ/General/How-do-I-recover-my-license-key-serial-number/)
[Error Codes ](/en/MAMP-PRO-Mac/FAQ/General/Error-Codes/)
[Where can I find the crash reports? ](/en/MAMP-PRO-Mac/FAQ/General/Where-can-I-find-the-crash-reports/)
[Host cannot be called in the browser ](/en/MAMP-PRO-Mac/FAQ/General/Host-cannot-be-called-in-the-browser/)
[Blueprint site cannot be opened in the browser ](/en/MAMP-PRO-Mac/FAQ/General/Blueprint-site-cannot-be-opened-in-the-browser/)
[My changes to the configuration files are gone when I restart the servers ](/en/MAMP-PRO-Mac/FAQ/General/Changes-to-the-configuration-files-are-gone-when-I-restart-the-servers/)
[AppleScript permissions on macOS ](/en/MAMP-PRO-Mac/FAQ/General/AppleScript-Permissions-on-macOS/)
# AppleScript Permissions on macOS
> How MAMP PRO uses AppleScript on macOS, how to grant the required permission, and how to re-enable it if denied.
MAMP PRO uses AppleScript to perform certain actions that require system-level permissions—such as interacting with other applications or managing system settings.
## Granting Permission
[Section titled “Granting Permission”](#granting-permission)
The first time MAMP PRO attempts to run an AppleScript-based action, macOS will prompt you with a dialog asking whether to allow or deny the request.

* If you click **“OK”**, MAMP PRO will be granted permission to perform the requested action.
* If you click **“Don’t Allow”**, the action will be blocked, and MAMP PRO will not be able to proceed.
Caution
macOS remembers your choice. If you deny the request, MAMP PRO will not ask again automatically, and you will need to manually reset the permission.
## Re-enabling Permission After Denial
[Section titled “Re-enabling Permission After Denial”](#re-enabling-permission-after-denial)
If you accidentally clicked **“Don’t Allow”**, follow these steps to reset the permission:
1. Open **System Settings**.
2. Navigate to **Privacy & Security → Automation** (or **Security & Privacy → Automation** on older versions of macOS).
3. Locate MAMP PRO in the list.
4. If it appears with disabled checkboxes, enable the relevant options (e.g., System Events, Finder, Terminal).
5. If MAMP PRO is not listed, or the permission is missing entirely, reset it via Terminal:
1. Open the **Terminal** app (via Spotlight or **Applications → Utilities → Terminal**).
2. Enter the following command and press **Return**:
```bash
tccutil reset AppleEvents
```
Caution
This command resets Apple Events permissions system-wide. All other applications that previously had permission will need to grant access again.
3. The next time MAMP PRO attempts an AppleScript-based action, macOS will prompt you to grant or deny access.
6. When macOS prompts you, click **“OK”** to grant permission.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Are updates free of charge?
> All updates during your license period are free; upgrades to a new major version require a new license.
All updates released during your license period are included at no additional cost. After your license expires, you can continue to use the software without any restrictions in its current version. However, access to updates or upgrades released after the license period requires the purchase of a new license.
The upgrade from MAMP PRO 6 to MAMP PRO 7 is a paid upgrade.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Blueprint site cannot be opened in the browser
> Why a MAMP PRO Blueprint site may not open in the browser and how to fix it.
Sites in the Blueprints group serve as templates for creating new sites. To prevent their files and database from being modified accidentally, Blueprint sites cannot be opened in the browser.
To edit a Blueprint site’s contents:
1. Move the site out of the Blueprints group.
2. Save and restart the servers.
3. Make your changes.
4. Move the site back into the Blueprints group.
For more information on creating Blueprint sites, see [Creating a Blueprint site](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/Blueprint/).
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Can I delete the directory MAMP_xxxx?
> The MAMP_[date] directory is a temporary backup created during MAMP PRO updates — it is safe to delete.
When you install a new MAMP package, the installer renames your existing `/Applications/MAMP` folder to a timestamped backup, for example `MAMP_2026-05-21_13-01-46`. You can delete this folder once you have confirmed that everything works correctly, or keep it if you want to be able to revert to your previous installation.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Can I use MAMP at the same time as MAMP PRO?
> MAMP and MAMP PRO can run side by side, but they share the same Apache and MySQL binaries.
No. MAMP and MAMP PRO share the same Apache and MySQL binaries inside the MAMP application folder. Running both at the same time will cause port conflicts, configuration overwrites, and may lead to data loss. Always quit one application before starting the other.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# My changes to the configuration files are gone when I restart the servers
> Why configuration file changes disappear on server restart in MAMP PRO, and how to persist them using templates.
All configuration files (httpd.conf, nginx.conf, php.ini, my.cnf, …) are regenerated each time the servers start. They are based on templates. If you want to make changes to the configuration files, you need to make those changes in the templates.
You can access the templates from the MAMP PRO menu: “File › Open Template”.
Note that errors in the templates can prevent the servers from starting.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Error Codes
> Reference list of all MAMP PRO error codes for FTP, SFTP, and MySQL operations with their meanings.
Below are all the error codes you may encounter.
#### FTP
[Section titled “FTP”](#ftp)
| Error Code | Meaning |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| -2201, -2301 | Could not connect to the remote server → server does not exist, server address or port wrong |
| -2202, -2302 | Could not connect to the remote server with the user name → user name or password wrong or user does not exist on remote server |
| -2203, -2304 | Could not check the connection to the remote server → connection dropped, etc. … |
| -2204, -2305 | Could not create directory → parent directory does not exist, not enough permissions, or connection dropped, etc. … |
| -2205, -2306 | Could not delete directory → directory does not exist, not enough permissions, connection dropped, etc. … |
| -2206, -2307 | Could not determine if file or directory exists on server. → connection dropped, etc. … |
| -2206, -2208, -2308, -2309 | Could not upload directory to server. → connection dropped, not enough permissions, not enough free disk space, etc. … |
| -2211, -2212, -2312, -2313 | Could not download file from server. → connection dropped, file does not exist, etc. … |
| -2213, -2214, -2314, -2315 | Could not upload file to server. → connection dropped, not enough permissions, not enough free disk space, etc. … |
| -2215, -2316 | Could not delete file from server. → connection dropped, not enough permissions, etc. … |
| -2216, -2317 | Could not rename file on server. → connection dropped, not enough permissions, etc. … |
| -2209, -2210, -2310, -2311 | Could not download directory from remote server. → connection dropped, not enough permissions, etc. … |
#### Remote
[Section titled “Remote”](#remote)
| Error Code | Meaning |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -3001 | Host has multiple databases mapped → Make sure the selected site has only one database mapped. |
| -3002 | Missing remote server MySQL information → Enter all the fields on the remote tab. |
| -3003 | Error while creating local temp folder. → Restart Mac. |
| -3004 | Could not access the folder provided in the Path field → Make sure that remote document root folder exists on the remote server. |
| -3005, -3006 | It was not possible to access the remote packages to execute the transfer → Contact developer |
| -3007 | Error while adjusting local file → Restart Mac |
| -3008, -3009, -3022 | MAMP PRO could not create remote folder → make sure that the ftp account has rights to read and write on remote server. |
| -3010 | The provided Path (remote document root path) is wrong → Click on auto detect remote path. |
| -3011 | The minimum requirements are not met by the remote server → Check the minimum requirements of MAMP PRO remote and contact your host provider. |
| -3012 | The WordPress version locally is newer than the tested versions of WordPress in MAMP PRO. |
| -3013 | The WordPress version locally is older than the tested versions of WordPress in MAMP PRO. |
| -3014 | Could not verify the minimum requirements of the remote server → Check the minimum requirements of MAMP PRO remote and contact your host provider. |
| -3015 | Could not start MySQL → Try again with the servers running. |
| -3016 | Could not export MySQL Users → Contact support |
| -3017 | Could not import local dump into remote MySQL server → Check minimum requirements, test again and contact support |
| -3018 | Could not export MySQL Database → Contact support |
| -3019 | Error while adjusting local database dump → Make sure your database is UTF8 and try again. |
| -3020 | Error while adjusting local document root config file → Make sure your wp-config.php is UTF8 and try again. |
| -3021 | Error while zipping document root → Restart your Mac |
| -3023 | Error while unzipping remote document root → Check the minimum requirements and try again |
| -3024 | Error while moving/activating remote document root → Check the minimum requirements and try again |
| -3101 | Could not start MySQL → Try again with the servers running. |
| -3102, -3103, -3104 | The site has no database mapped and requires a new one → create a new database and map it to that site. |
| -3105 | Missing remote server MySQL information → Enter all the fields on the remote tab |
| -3106 | Error while creating local temp folder. → Restart Mac. |
| -3107 | Could not access the folder provided in the Path field → Make sure that remote document root folder exists on the remote server. |
| -3108, -3109 | It was not possible to access the remote packages to execute the transfer → Contact developer |
| -3110 | Error while adjusting local file → Restart Mac. |
| -3111, -3112, -3118 | MAMP PRO could not create remote folder → make sure that the ftp account has rights to read and write on remote server. |
| -3113 | The provided Path (remote document root path) is wrong → Click on auto detect remote path. |
| -3114 | Could not verify the minimum requirements of the remote server → Check the minimum requirements of MAMP PRO remote and contact your host provider. |
| -3115 | The WordPress version locally is newer than the tested versions of WordPress in MAMP PRO. |
| -3116 | The WordPress version locally is older than the tested versions of WordPress in MAMP PRO. |
| -3117 | Could not verify the minimum requirements of the remote server → Check the minimum requirements of MAMP PRO remote and contact your host provider. |
| -3119 | Error while exporting remote database → check minimum requirements, try again and contact developer. |
| -3120 | Error while compressing remote document root → check minimum requirements and try again. |
| -3121 | Error while unzipping local archive → restart your Mac and try again. |
| -3122 | Error while adjusting remote database dump with local host information → contact developer. |
| -3123 | Error while importing your remote database to your local database server → check requirements, try again and contact developer. |
| -3124 | Error while adjusting wp-config.php file → Make sure the config file is UTF8, make sure it follows the standard WordPress wp-config.php file and try again. |
| -3125 | Error while moving the new document root → restart your Mac and try again. |
| Error Code | Description | Corrective Action |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| -3201 | Error authenticating with the remote database server | Please check your credentials and the remote PHP configuration (mysqli) |
| -3202 | Error authenticating with the remote database server (authentication lost) | Please restart MAMP PRO and try again |
| -3203 | Network-related error while trying to connect with the remote database server | Please check your network connection and the remote host’s server name |
| -3204 | Error authenticating with the remote database server (invalid authentication token received) | Please check your credentials and the remote PHP configuration (mysqli) or restart MAMP PRO and try again |
| -3205 | Error authenticating with the remote database server (no authentication token received) | Please check your credentials and the remote PHP configuration (mysqli) or restart MAMP PRO and try again |
| -3206 | Error while trying to fetch a remote database (no database tables found) | Please check the remote database server configuration and the remote database’s contents and try again |
| -3207 | Error while sending a network request to the remote host while trying to access the remote database server | Please check the reachability of the remote host’s web server and try again |
| -3208 | Error while trying to fetch a remote database, the remote server returned a compressed response which could not be processed | Please check the remote host’s web server configuration and its reachability and try again |
| -3209 | Error while trying to fetch a remote database, the remote server returned an empty response | Please check the reachability of the remote host’s web server and try again |
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Host cannot be called in the browser
> Troubleshooting a MAMP PRO site that cannot be reached in the browser.
If your browser shows a “host unavailable” error or redirects to a search engine when you open a local site URL, one of the following is likely the cause:
* You misspelled the name of the site.
* You typed the URL without `http://` or `https://`.
* You forgot to include the port number. This is only required when using a port other than 80.
Tip
If you are unsure which URL to use, click the **Open** button on the [General tab](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/) of the corresponding site — MAMP PRO will open the correct URL in your browser.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# How do I recover my license key / serial number?
> How to recover a lost MAMP PRO licence key or serial number.
On our [License Management](https://account.mamp.info) page, you can log in with the email address you used to purchase your licenses and view all your licenses.
If you are still unable to recover your serial number, please contact [MAMP Support](https://support.mamp.info/) and provide the following information:
* Name
* Address
* Email address
* Order number
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# How long does the demo version run?
> The MAMP PRO demo version runs for 14 days with full functionality.
The trial version is fully functional for 14 days. After that, MAMP PRO switches to limited mode — you can still explore the application, but starting the servers is no longer possible.
To restore full functionality, register your copy via [MAMP PRO › Register MAMP PRO…](/en/MAMP-PRO-Mac/Menu/MAMP-PRO/). Once registered, the [MAMP PRO › Registration…](/en/MAMP-PRO-Mac/Menu/MAMP-PRO/) entry shows your registration details.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Is it possible to add an updated version of PHP?
> How to add a newer PHP version to MAMP PRO if the version you need is not yet bundled.
Yes. MAMP PRO includes a large number of PHP versions by default, and additional versions can be installed at any time. In [Settings › Languages › PHP](/en/MAMP-PRO-Mac/Settings/Languages/PHP/), click the plus button to open a list of available PHP versions. Click **Install** next to the desired version to add it to your development environment. MAMP PRO must be restarted after installation.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Is the number of aliases for a site limited?
> The number of aliases (additional domain names) per MAMP PRO site is not limited.
No. Aliases are additional names for a site and are not limited in number. Use the plus button in [Sites › Site › General › Advanced](/en/MAMP-PRO-Mac/Sites/Site/General/Advanced/) to add them.
Note
Aliases are not suitable for WordPress sites, as WordPress stores the original site name in its database and uses it to generate all links.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# What are the locations of the configuration files?
> Where MAMP PRO stores the generated configuration files for PHP, MySQL, Apache, and Nginx.
The changes you make in the MAMP PRO interface and template files are used to generate the actual configuration files. These configuration files are created when you start your servers.
* **PHP**\
`/Library/Application Support/appsolute/MAMP PRO/conf/php.ini`
* **MySQL**\
`/Applications/MAMP/tmp/mysql/my.cnf`
* **Apache**\
`/Library/Application Support/appsolute/MAMP PRO/conf/httpd.conf`
* **Apache-SSL**\
`/Library/Application Support/appsolute/MAMP PRO/conf/httpd-ssl.conf`
* **Nginx**\
`/Library/Application Support/appsolute/MAMP PRO/conf/nginx.conf`
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# What is MAMP PRO?
> An overview of MAMP PRO: local web servers, MySQL, PHP, Python, Redis, Memcached, and hosting transfers.
MAMP PRO is an application that helps you easily configure and run local web servers like [Apache](/en/MAMP-PRO-Mac/Settings/Server/Apache/) or [Nginx](/en/MAMP-PRO-Mac/Settings/Server/Nginx/). It also supports relational databases such as [MySQL (5.7 & 8.0)](/en/MAMP-PRO-Mac/Settings/Server/MySQL/) and NoSQL solutions like [Redis](/en/MAMP-PRO-Mac/Settings/Server/Redis/) and [Memcached](/en/MAMP-PRO-Mac/Settings/Server/Memcached/).
You can work with different versions of [PHP](/en/MAMP-PRO-Mac/Settings/Languages/PHP/) and [Python](/en/MAMP-PRO-Mac/Settings/Languages/Python/), all with the necessary modules for development already included.
MAMP PRO also comes with a built-in [text editor](/en/MAMP-PRO-Mac/Editor/) that you can [customize](/en/MAMP-PRO-Mac/Settings/Editor/) to fit your workflow. Additionally, you can easily [transfer your site to a remote hosting provider](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/) — without needing third-party tools like Homebrew or Docker.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Where are the MAMP PRO files created or changed?
> A list of all files and directories that MAMP PRO creates or modifies on your Mac.
The following list includes all files that are created or modified by MAMP PRO and are not located within the MAMP PRO folder.
* **MAMP PRO Settings and Files**
* /Library/Application Support/appsolute/MAMP PRO
* \~/Library/Application Support/appsolute/MAMP PRO
* \~/Library/Preferences/de.appsolute.mamppro.plist
* \~/Library/Preferences/de.appsolute.MAMP.plist
* /Library/LaunchDaemons/de.appsolute.mampprohelper.plist
* **MySQL**
* \~/Library/Application Support/appsolute/MAMP PRO/db/mysql57
* \~/Library/Application Support/appsolute/MAMP PRO/db/mysql80
* **Dynamic DNS**
* /Library/LaunchDaemons/de.appsolute.mamp\_dyndns.plist
* \~/Library/LaunchAgents/de.appsolute.mamp\_dyndns.plist
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Where can I find more information on the various servers, interpreters, debuggers, and other tools that MAMP PRO uses?
> Links to documentation for the servers, PHP versions, debuggers, and other tools bundled with MAMP PRO.
For more information on the various servers, interpreters, debuggers, and other tools used by MAMP PRO, see the following links:
* **Servers & Services**
* [Apache Web Server](https://httpd.apache.org)
* [Nginx Web Server](https://nginx.org)
* [MySQL](https://www.mysql.com)
* [Redis](https://redis.io)
* [Memcached](https://memcached.org)
* [MailHog](https://github.com/mailhog/MailHog)
* **Languages**
* [PHP](https://www.php.net)
* [Python](https://www.python.org)
* **Cache Options**
* [APC](https://www.php.net/manual/en/book.apcu.php)
* [OPcache](https://www.php.net/manual/en/book.opcache.php)
* **Debugger**
* [Xdebug](https://xdebug.org)
* [MacGDBp](http://www.bluestatic.org/software/macgdbp/)
* **Database Administration**
* [phpMyAdmin](https://www.phpmyadmin.net)
* [Adminer](https://www.adminer.org)
* [Sequel Ace](https://sequel-ace.com)
* [MySQL Workbench](https://www.mysql.com/products/workbench/)
* **Content Management Systems**
* [WordPress](https://wordpress.org)
* [Joomla](https://www.joomla.org)
* [Drupal](https://www.drupal.org)
* [webEdition](http://www.webedition.org)
* [Mediawiki](https://www.mediawiki.org/wiki/MediaWiki)
* [phpBB](https://www.phpbb.com)
* **Dynamic DNS Providers**
* [DNS-O-Matic](https://dnsomatic.com)
* [No-IP](https://www.noip.com)
* [easydns.com](https://easydns.com)
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Where can I find the crash reports?
> Where macOS stores MAMP PRO crash reports and how to locate them.
You can find the crash logs here:
* `/Library/Logs/DiagnosticReports`
* `~/Library/Logs/DiagnosticReports` (where `~` refers to your Home directory)
The Help menu contains the entry “Collect Support Information”. This automatically collects all the information needed to file a report in the [bugbase](https://bugs.mamp.info) or submit a question to [MAMP Support](https://support.mamp.info/).
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# Where can I find the log files?
> Locations of the MAMP PRO log files for Apache, MySQL, Nginx, and other services.
Your log files are located in the `/Applications/MAMP/logs` directory. You can also access various logs through the MAMP PRO interface. Additionally, for many components included in MAMP PRO, you can specify a custom location for the log files. In those cases, the log files will be saved in the location you specified.
***
← [General](/en/MAMP-PRO-Mac/FAQ/General/)
# MySQL
> MySQL FAQ for MAMP PRO: troubleshooting, configuration questions, and database management.
How-to guides
Step-by-step MySQL guides (connecting, changing the password, setting the storage engine) have moved to the [MySQL how-to section](/en/MAMP-PRO-Mac/How-to/MySQL/).
[Can I change the location of the files of MySQL databases? ](/en/MAMP-PRO-Mac/FAQ/MySQL/Can-I-change-the-location-of-the-files-of-MySQL-databases/)
[Can I use a different version of MySQL? ](/en/MAMP-PRO-Mac/FAQ/MySQL/Can-I-use-a-different-version-of-MySQL/)
[Is there any way to disable grouping databases in phpMyAdmin? ](/en/MAMP-PRO-Mac/FAQ/MySQL/Is-there-any-way-to-disable-grouping-databases-in-phpMyAdmin/)
[MySQL server does not start because of a sequence number ](/en/MAMP-PRO-Mac/FAQ/MySQL/MySQL-server-does-not-start-because-of-a-sequence-number/)
[MySQL will not start ](/en/MAMP-PRO-Mac/FAQ/MySQL/MySQL-will-not-start/)
[Use the same values for the database connection locally and remotely ](/en/MAMP-PRO-Mac/FAQ/MySQL/Use-the-same-values-for-the-database-connection-locally-and-remotely/)
[What can I do if the MySQL server is slow? ](/en/MAMP-PRO-Mac/FAQ/MySQL/What-can-I-do-if-the-MySQL-server-is-slow/)
[What data is in my mysql56 folder? ](/en/MAMP-PRO-Mac/FAQ/MySQL/What-data-is-in-my-mysql56-folder/)
[Where is my MySQL database data? ](/en/MAMP-PRO-Mac/FAQ/MySQL/Where-is-my-MySQL-5.7-database-data-in-MAMP-PRO/)
[Where is my my.cnf file located? ](/en/MAMP-PRO-Mac/FAQ/MySQL/Where-is-my-my.cnf-file-located/)
[Table mysql/innodb\_table\_stats has length mismatch ](/en/MAMP-PRO-Mac/FAQ/MySQL/innodb_table_stats-has-length-mismatch/)
# Can I change the location of the files of MySQL databases?
> Whether and how you can move the MySQL database files to a different location in MAMP PRO.
No, you cannot change the location of the files of MySQL databases.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# Can I use a different version of MySQL?
> MAMP PRO includes fixed versions of MySQL. It is not possible to use a different MySQL version than the ones provided.
No, it is not possible to use a different version of MySQL than the ones included with MAMP PRO. Upgrading or downgrading MySQL independently is not supported.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# Table mysql/innodb_table_stats has length mismatch
> How to fix the InnoDB innodb_table_stats length mismatch error in MAMP PRO.
This error appears in the MySQL log file (`mysql_error.log`) when the internal InnoDB statistics tables are out of sync with the current MySQL version — typically after a MySQL upgrade:
```plaintext
InnoDB: Table mysql/innodb_table_stats has length mismatch in the column name table_name. Please run mysql_upgrade
```
Running the built-in upgrade tool in MAMP PRO resolves the issue:
1. Open MAMP PRO and start the servers.
2. Open the [Tools](/en/MAMP-PRO-Mac/Menu/Tools/) menu and select **Upgrade MySQL Databases…**.
3. Click **Upgrade** in the dialog that appears.
4. Once the upgrade is complete, close the dialog.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# Is there any way to disable grouping databases in phpMyAdmin?
> How to disable the database grouping-by-prefix behavior in the phpMyAdmin interface.
phpMyAdmin groups databases by default based on a common prefix in their names. If you do not want this behavior, follow these steps.
Note
MAMP PRO includes three versions of phpMyAdmin (for different PHP versions). The change needs to be made in all three configuration files.
Caution
These changes will be lost when MAMP PRO updates phpMyAdmin to a newer version. You will need to repeat the steps after each update.
1. Open `/Library/Application Support/appsolute/MAMP PRO/phpMyAdmin6/config.inc.php` in a text editor.
2. Add the following line at the end of the file:
```php
$cfg['NavigationTreeEnableGrouping'] = false;
```
3. Save the file.
4. Open `/Library/Application Support/appsolute/MAMP PRO/phpMyAdmin5/config.inc.php` in a text editor.
5. Add the following line at the end of the file:
```php
$cfg['NavigationTreeEnableGrouping'] = false;
```
6. Save the file.
7. Open `/Library/Application Support/appsolute/MAMP PRO/phpMyAdmin/config.inc.php` in a text editor.
8. Add the following line at the end of the file:
```php
$cfg['NavigationTreeEnableGrouping'] = false;
```
9. Save the file.
Databases will no longer be grouped by a common prefix.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# MySQL server does not start because of a sequence number
> How to fix the MySQL startup error caused by a mismatched log sequence number in InnoDB log files.
MySQL uses InnoDB log files (`ib_logfile0`, `ib_logfile1`) to track changes to the database. These files contain a log sequence number (LSN) that must match the LSN stored in the InnoDB data file (`ibdata1`). If the numbers do not match — for example because the Mac went to sleep while MySQL was writing — MySQL refuses to start and logs an error like this:
```plaintext
10:12:32 1753 [Note] InnoDB: The log sequence numbers 609248312 and 609248312 in ibdata files do not match the log sequence number 609248322 in the ib_logfiles!
```
Renaming the existing log files forces InnoDB to create new, consistent ones on the next startup.
1. Quit MAMP PRO.
2. In Finder, press `⌘` `⇧` `G` (or choose **Go › Go to Folder**) and navigate to the folder matching your active MySQL version:
**MySQL 5.7:**
```bash
/Library/Application Support/appsolute/MAMP PRO/db/mysql57
```
**MySQL 8.0:**
```bash
/Library/Application Support/appsolute/MAMP PRO/db/mysql80
```
3. Rename `ib_logfile0` to `ib_logfile0_bak`.
4. Rename `ib_logfile1` to `ib_logfile1_bak`.
5. Start MAMP PRO. MySQL will automatically recreate both log files with a matching sequence number.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# MySQL will not start
> Common reasons why MySQL will not start in MAMP PRO and how to diagnose and fix them.
The most common reason for MySQL not starting is that another MySQL process is already running on the same port. To check for this and resolve it:
1. Quit MAMP PRO.
2. Open **Activity Monitor** (`/Applications/Utilities/Activity Monitor`).
3. In the **View** menu, select **All Processes**.
4. Type `mysqld` into the search field in the top right.

5. Quit every `mysqld` process listed in the results.
6. Start MAMP PRO again.
7. If MySQL still does not start, check the [log file](/en/MAMP-PRO-Mac/FAQ/General/Where-can-I-find-the-log-files/) for error messages.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# Use the same values for the database connection locally and remotely
> How to configure your database connection so the same credentials work both locally in MAMP PRO and on a remote server.
PHP applications typically use different database connection values locally and on a remote server. MAMP PRO lets you mirror your provider’s database credentials locally, so the same connection values work in both environments.
The key principle: start with the values your hosting provider gives you, then recreate them locally in MAMP PRO.
## Example provider credentials
[Section titled “Example provider credentials”](#example-provider-credentials)
| | Value |
| ------------- | ------------------------------- |
| Hostname | `db52339873412.hosting-data.io` |
| Database name | `dbs8723017` |
| Username | `dbu4919316` |
| Password | `3dft6hfdgjz9hd3skw` |
## Step 1 – Create the database in MAMP PRO
[Section titled “Step 1 – Create the database in MAMP PRO”](#step-1--create-the-database-in-mamp-pro)
1. Open MAMP PRO and start the servers.
2. In the [Sites](/en/MAMP-PRO-Mac/Sites/) list, select the site you want to use the database with.
3. Switch to the [Databases](/en/MAMP-PRO-Mac/Sites/Site/Databases/) tab.
4. Click the **+** button at the bottom of the database list. The **Create database** dialog opens.
5. Enter the database name from your provider — in this example: `dbs8723017`.
6. Expand the **After creating the new database** section if it is not already open.
7. Enable **Grant access to User** and enter the username — in this example: `dbu4919316`.
8. Enter the password in the **with Password** field — in this example: `3dft6hfdgjz9hd3skw`.
9. Click **Create**. The database appears in the list and is linked to the selected site.
## Step 2 – Add the remote hostname as an alias
[Section titled “Step 2 – Add the remote hostname as an alias”](#step-2--add-the-remote-hostname-as-an-alias)
By default, MAMP PRO uses `localhost` as the MySQL host. To also accept the provider’s hostname locally, add it as an alias for the site.
1. Switch to the [General](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/) tab of the site.
2. Scroll down to the **Aliases** section and click the **+** button.
3. Enter the provider’s hostname — in this example: `db52339873412.hosting-data.io`.
4. Save the settings with `⌘` `S` or **File › Save**. MAMP PRO saves the changes and restarts the servers.
You can now use the same database credentials in your application for both local development and the remote server.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# What can I do if the MySQL server is slow?
> How to enable the MySQL slow query log to diagnose performance problems in MAMP PRO.
MySQL’s slow query log records queries that take longer than a defined threshold, making it easier to identify performance bottlenecks.
To enable it, open the `my.cnf` template via [File › Open Template](/en/MAMP-PRO-Mac/Menu/File/) and add the following lines below the `[mysqld]` section:
```ini
slow-query-log = 1slow-query-log-file = /Applications/MAMP/logs/mysql-slow.loglong_query_time = 1log-queries-not-using-indexes
```
* `long_query_time` defines the threshold in seconds. Queries exceeding this value are logged.
* `log-queries-not-using-indexes` logs queries that perform a full table scan, regardless of execution time.
Save the template and restart the MySQL server. The log file `mysql-slow.log` will appear in `/Applications/MAMP/logs/` once queries have been executed.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# What data is in my mysql56 folder?
> What the mysql56 folder in the MAMP PRO data directory contains and when it is safe to delete it.
This folder contains your MySQL 5.6 database data from before the upgrade. When you upgrade from MAMP PRO 4 to a newer version, MAMP PRO migrates your databases to a newer MySQL version and keeps the original `mysql56` folder as a backup.
The `mysql56` folder is no longer used by MAMP PRO. Once you have verified that all your sites are working correctly with the current MySQL version, it is safe to delete it.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# Where is my my.cnf file located?
> Where MAMP PRO generates the my.cnf configuration file for MySQL.
MAMP PRO generates the `my.cnf` configuration file at the following location:
`/Applications/MAMP/tmp/mysql/my.cnf`
Caution
Do not edit this file directly. MAMP PRO overwrites it every time MySQL is restarted, using the MySQL template as the source.
To modify the MySQL configuration, open the template via [File › Open Template](/en/MAMP-PRO-Mac/Menu/File/) and select the entry for your active MySQL version (5.7 or 8.0). All configuration changes should be made there.
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# Where is my MySQL database data?
> Where MAMP PRO stores MySQL database data on your Mac, for both MySQL 5.7 and MySQL 8.0.
MAMP PRO stores MySQL database data in the following locations, depending on the MySQL version in use:
**MySQL 5.7:** `/Library/Application Support/appsolute/MAMP PRO/db/mysql57`
**MySQL 8.0:** `/Library/Application Support/appsolute/MAMP PRO/db/mysql80`
***
← [MySQL](/en/MAMP-PRO-Mac/FAQ/MySQL/)
# PHP
> PHP FAQ for MAMP PRO: troubleshooting slow scripts, .user.ini issues, and other PHP problems.
How-to guides
Step-by-step PHP guides (editing php.ini, installing extensions, increasing memory limits) have moved to the [PHP how-to section](/en/MAMP-PRO-Mac/How-to/PHP/).
[Solutions for slow PHP script execution ](/en/MAMP-PRO-Mac/FAQ/PHP/Solutions-for-slow-PHP-Script-execution/)
# Solutions for slow PHP Script execution
> Common causes of slow PHP script execution in MAMP PRO and tips to speed it up.
If PHP scripts take an unusually long time to execute, the following are common causes:
* Xdebug is active
Xdebug adds significant overhead to every request, even when not actively debugging. [Adjust the Xdebug modes](/en/MAMP-PRO-Mac/How-to/PHP/How-to-adjust-Xdebug-modes-for-better-performance/) to use only what is needed, or disable Xdebug entirely when not in use.
* Insufficient PHP memory
If PHP runs out of memory, it may slow down or fail. [Increase the memory limit](/en/MAMP-PRO-Mac/How-to/PHP/Increase-the-PHP-memory-limit/) in the PHP configuration.
* Slow external requests
Scripts that make HTTP requests to external services (APIs, mail servers, etc.) are limited by the response time of those services. This is not specific to MAMP PRO.
* DNS resolution delays
PHP functions like `gethostbyname()` can be slow if DNS resolution takes a long time. Using `127.0.0.1` instead of `localhost` for database connections avoids a DNS lookup and can improve performance noticeably.
***
← [PHP](/en/MAMP-PRO-Mac/FAQ/PHP/)
# Transfer & Hosting
> Transfer and hosting FAQ for MAMP PRO: supported protocols, file types, MariaDB compatibility, and common questions about the remote transfer feature.
How-to guides
Step-by-step transfer guides (uploading, downloading, testing credentials) have moved to the [Hosting how-to section](/en/MAMP-PRO-Mac/How-to/Hosting/).
[Can you transfer a static website? ](/en/MAMP-PRO-Mac/FAQ/Transfer/Hosting/Can-you-transfer-static-website/)
[Is MariaDB supported? ](/en/MAMP-PRO-Mac/FAQ/Transfer/Hosting/Is-MariaDB-supported/)
[Is a manually installed WordPress also supported? ](/en/MAMP-PRO-Mac/FAQ/Transfer/Hosting/Is-a-manually-installed-WordPress-also-supported/)
[Is the content overwritten on the remote server? ](/en/MAMP-PRO-Mac/FAQ/Transfer/Hosting/Is-the-content-overwritten-on-the-remote-server/)
[Where does MAMP PRO store credential information? ](/en/MAMP-PRO-Mac/FAQ/Transfer/Hosting/Where-does-MAMP-PRO-store-credential-information/)
[Which Extra packages are supported? ](/en/MAMP-PRO-Mac/FAQ/Transfer/Hosting/Which-Extra-packages-are-supported/)
[Which file transfer protocols does MAMP PRO support? ](/en/MAMP-PRO-Mac/FAQ/Transfer/Hosting/Which-File-Transfer-Protocols-does-MAMP-PRO-support/)
[Will a Drupal site still work when transferred to a remote server? ](/en/MAMP-PRO-Mac/FAQ/Transfer/Hosting/Will-a-Drupal-site-still-work-when-transferred-to-a-remote-server/)
## Error codes
[Section titled “Error codes”](#error-codes)
If something doesn’t work, MAMP PRO usually provides an error code. The meanings of individual error codes are listed in the [Error Codes](/en/MAMP-PRO-Mac/FAQ/General/Error-Codes/) reference.
## Logs
[Section titled “Logs”](#logs)
The log file for remote functions is at `/Applications/MAMP/logs/remote.log`.
MAMP PRO can also log successful FTP connections. Create the file `/Applications/MAMP/logs/FTP+.log` to enable this — the file will record data from the most recent FTP connection.
# Can you transfer a static website?
> Static websites (HTML, CSS, JS) can be transferred to a remote server using MAMP PRO's hosting transfer feature.
Yes. Static websites (HTML, CSS, JavaScript) without a database can be uploaded to a remote server or downloaded from it. This works in most cases. Due to the many possible server configurations, we recommend making a backup before transferring.
Remote transfer settings are configured on the [Transfer › Hosting](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/) tab of the site.
***
← [Transfer & Hosting](/en/MAMP-PRO-Mac/FAQ/Transfer/)
# Is a manually installed WordPress also supported?
> Whether a WordPress site installed manually (not via MAMP PRO) is compatible with the hosting transfer feature.
Yes. The transfer feature supports WordPress whether it was installed via the [WordPress Extra](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/Extras/WordPress/) or set up manually.
***
← [Transfer & Hosting](/en/MAMP-PRO-Mac/FAQ/Transfer/)
# Is MariaDB supported?
> MAMP PRO is tested with MySQL; MariaDB may work but is not officially supported.
MAMP PRO is tested and supported with MySQL. MariaDB is not officially supported, but since it is largely compatible with MySQL it may work in practice. Use it at your own risk and make sure to back up your data before transferring.
***
← [Transfer & Hosting](/en/MAMP-PRO-Mac/FAQ/Transfer/)
# Is the content overwritten on the remote server?
> Whether uploading a site with MAMP PRO's transfer feature overwrites existing content on the remote server.
Yes. When you upload a site, the files in the remote document root are replaced by your local files. The remote database is also overwritten.
Caution
Back up both your remote files and your remote database before starting a transfer. Data that is not backed up cannot be recovered.
***
← [Transfer & Hosting](/en/MAMP-PRO-Mac/FAQ/Transfer/)
# Where does MAMP PRO store credential information?
> Where MAMP PRO saves the FTP and SFTP credentials for hosting provider connections.
Your credentials are used exclusively by MAMP PRO to connect to your remote server. Passwords are stored in macOS **Keychain Access** — not inside MAMP PRO itself.
***
← [Transfer & Hosting](/en/MAMP-PRO-Mac/FAQ/Transfer/)
# Which Extra packages are supported?
> Which Extra packages (WordPress, Drupal, Joomla) are supported by the MAMP PRO hosting transfer feature.
The transfer feature has been fully verified for **WordPress**. Other CMS installations (Drupal, Joomla, etc.) may work, but have not been tested. Proceed at your own risk and make sure to back up your remote data before transferring.
***
← [Transfer & Hosting](/en/MAMP-PRO-Mac/FAQ/Transfer/)
# Which File Transfer Protocols does MAMP PRO support?
> MAMP PRO supports FTP and SFTP for transferring sites to and from remote hosting providers.
MAMP PRO supports the following protocols:
* SFTP
* FTP with TLS/SSL
* FTP with Implicit SSL
* FTP
***
← [Transfer & Hosting](/en/MAMP-PRO-Mac/FAQ/Transfer/)
# Will a Drupal site still work when transferred to a remote server?
> What to check if a Drupal site does not work after being transferred to a remote server with MAMP PRO.
The transfer feature has only been fully verified for WordPress. Drupal is not officially supported.
A Drupal transfer may work if its database does not contain hardcoded absolute URLs or directory paths that differ between local and remote environments. You can try at your own risk — but make sure to back up your remote files and database before starting the transfer.
***
← [Transfer & Hosting](/en/MAMP-PRO-Mac/FAQ/Transfer/)
# WordPress
> WordPress FAQ for MAMP PRO: troubleshooting database connection errors, port changes, Nginx issues, and theme compatibility.
[Changing ports of a WordPress host ](/en/MAMP-PRO-Mac/FAQ/WordPress/Changing-Ports-of-a-WordPress-Host/)
[Why do I get the message “Cannot connect to server” when I open a WordPress site? ](/en/MAMP-PRO-Mac/FAQ/WordPress/Why-do-I-get-the-message-Cannot-connect-to-server-when-I-open-a-WordPress-site/)
[Why does my WordPress site not work with Nginx? ](/en/MAMP-PRO-Mac/FAQ/WordPress/Why-does-my-WordPress-site-not-work-with-Nginx/)
[Why do I get the error message “Error establishing a database connection”? ](/en/MAMP-PRO-Mac/FAQ/WordPress/Why-do-I-get-the-error-message-Error-establishing-database-connection/)
[Why is WordPress disabled when creating a new site? ](/en/MAMP-PRO-Mac/FAQ/WordPress/Create-new-host-WordPress-disabled/)
[MAMP PRO error-handling settings are not taken into account by a WordPress site ](/en/MAMP-PRO-Mac/FAQ/WordPress/MAMP-PRO-settings-for-error-handling-are-not-taken-into-account-by-WordPress-site/)
[WordPress Theme Twenty-Three and Safari ](/en/MAMP-PRO-Mac/FAQ/WordPress/WordPress-Theme-Twenty-Three-and-Safari/)
# Changing Ports of a WordPress Host
> When you change ports for a WordPress site in MAMP PRO, the WordPress configuration is updated automatically.
When you change the [Apache or Nginx ports](/en/MAMP-PRO-Mac/Settings/Server/Ports/) in MAMP PRO, the `siteurl` and `home` values in the WordPress database are updated automatically. You do not need to make any manual changes to your WordPress installation.
***
← [WordPress](/en/MAMP-PRO-Mac/FAQ/WordPress/)
# Why is WordPress disabled when creating a new site?
> Why the WordPress option is greyed out when creating a new site in MAMP PRO.
If the WordPress option is greyed out when creating a new site, the most common cause is that the selected PHP version is too old to meet WordPress’s minimum requirements. Select a newer PHP version in [Settings › Languages › PHP](/en/MAMP-PRO-Mac/Settings/Languages/PHP/) and try again.
To see the exact reason, hover over the WordPress icon in the site creation dialog — a tooltip will explain why the option is currently disabled.
***
← [WordPress](/en/MAMP-PRO-Mac/FAQ/WordPress/)
# MAMP PRO settings for error handling are not taken into account by WordPress site
> Why WordPress overrides MAMP PRO PHP error-handling settings and how to configure error display correctly.
In [Settings › Languages › PHP](/en/MAMP-PRO-Mac/Settings/Languages/PHP/) you can control whether PHP errors are displayed on the page or written to a log file. If you have disabled error display there but PHP messages still appear on your WordPress site, WordPress’s own debug mode is likely overriding the MAMP PRO setting.
Open `wp-config.php` in your site’s document root and look for `WP_DEBUG`. You will likely find lines like these:
```php
define( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );define( 'WP_DEBUG_DISPLAY', true );
```
* To disable all debug output, set `WP_DEBUG` to `false`.
* To keep logging but hide output on the page, set `WP_DEBUG_DISPLAY` to `false`.
Save the file and reload your WordPress site.
***
← [WordPress](/en/MAMP-PRO-Mac/FAQ/WordPress/)
# Why do I get the error message Error establishing database connection?
> How to fix the WordPress 'Error establishing a database connection' message in MAMP PRO.
This error means WordPress cannot connect to the MySQL database. Open `wp-config.php` in your site’s document root and verify the following values:
**`DB_HOST`** — must be `localhost` or `127.0.0.1`:
```php
define('DB_HOST', 'localhost');
```
**`DB_NAME`** — must match the database name created in MAMP PRO:
```php
define('DB_NAME', 'wordpress');
```
**`DB_USER`** — must match the MySQL username. MAMP PRO uses `root` by default:
```php
define('DB_USER', 'root');
```
**`DB_PASSWORD`** — must match the MySQL password. MAMP PRO uses `root` by default. The password can be changed in [Settings › Server › MySQL](/en/MAMP-PRO-Mac/Settings/Server/MySQL/):
```php
define('DB_PASSWORD', 'root');
```
***
← [WordPress](/en/MAMP-PRO-Mac/FAQ/WordPress/)
# Why do I get the message Cannot connect to server when I open a WordPress site?
> Why MAMP PRO shows 'Cannot connect to server' when opening a WordPress site and how to fix it.
WordPress stores the site URL — including the port — in its database (`siteurl` and `home` options). If the Apache port in MAMP PRO no longer matches the port stored in the database, WordPress cannot connect and shows this error.
This typically happens when the Apache port has been changed after the WordPress site was first set up. To resolve this, change the port back to the one originally used, or change the port via [Settings › Server › Ports](/en/MAMP-PRO-Mac/Settings/Server/Ports/) — MAMP PRO will then [update the WordPress database automatically](/en/MAMP-PRO-Mac/FAQ/WordPress/Changing-Ports-of-a-WordPress-Host/).
***
← [WordPress](/en/MAMP-PRO-Mac/FAQ/WordPress/)
# Why does my WordPress site not work with Nginx?
> Common reasons why a WordPress site does not work when using Nginx in MAMP PRO.
Unlike Apache, Nginx does not support `.htaccess` files. WordPress relies on `.htaccess` for URL rewriting (pretty permalinks), so additional configuration is required when using Nginx.
You will need to add the appropriate rewrite rules to your `nginx.conf` template via [File › Open Template](/en/MAMP-PRO-Mac/Menu/File/). For reference, see the official guides:
* [WordPress: Nginx configuration](https://wordpress.org/documentation/article/nginx/)
* [Nginx: WordPress recipe](https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/)
***
← [WordPress](/en/MAMP-PRO-Mac/FAQ/WordPress/)
# WordPress Theme Twenty-Three and Safari
> Known display issue with the WordPress Theme Twenty-Three in Safari when running under MAMP PRO.
The Twenty Twenty-Three theme introduced with WordPress 6.1 is not compatible with older versions of Safari. The site remains functional, but no CSS is applied, so it appears unstyled.
If your WordPress site is displayed without styles, this is not caused by MAMP PRO or the [WordPress Extra](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/Extras/WordPress/) — it is a compatibility issue between the theme and your Safari version. Updating Safari or switching to a different browser resolves the issue.
***
← [WordPress](/en/MAMP-PRO-Mac/FAQ/WordPress/)
# About MAMP PRO
> About MAMP PRO
MAMP PRO is a configuration application that helps you set up and run the [Apache](/en/MAMP-PRO-Mac/Settings/Server/Apache/) or [Nginx](/en/MAMP-PRO-Mac/Settings/Server/Nginx/) web servers, the relational database [MySQL (5.7 & 8.0)](/en/MAMP-PRO-Mac/Settings/Server/MySQL/), as well as NoSQL databases like [Redis](/en/MAMP-PRO-Mac/Settings/Server/Redis/) and [Memcached](/en/MAMP-PRO-Mac/Settings/Server/Memcached/).
It also includes and manages the configuration of numerous versions of [PHP](/en/MAMP-PRO-Mac/Settings/Languages/PHP/) and [Python](/en/MAMP-PRO-Mac/Settings/Languages/Python/), with all essential development modules included out of the box.
MAMP PRO also comes with a [text editor](/en/MAMP-PRO-Mac/Editor/) that can be [customized](/en/MAMP-PRO-Mac/Settings/Editor/) to suit your needs with a wide range of options, along with built-in functionality to [transfer your site to a remote hosting provider](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/). And all of this without dependencies on third-party tools like Homebrew or Docker.
**Where to go next:**
[Installation ](/en/MAMP-PRO-Mac/Getting-started/Installation/)System requirements and step-by-step installation instructions.
[First Steps ](/en/MAMP-PRO-Mac/Getting-started/First-Steps/)Start your servers and open your first site in the browser.
# First Steps
> What happens when you launch MAMP PRO for the first time: database migration from MAMP, starting the servers, and navigating the Sites list.
## Completing the MAMP PRO installation
[Section titled “Completing the MAMP PRO installation”](#completing-the-mamp-pro-installation)
When MAMP PRO is launched for the first time, any existing MySQL databases are copied from MAMP to MAMP PRO and the contents of `/Applications/MAMP/htdocs` are copied to `~/Sites/localhost`, which is set as the document root for the default “localhost” site. A dialog box informs you of this action.

Note
It is not recommended to use `/Applications/MAMP/htdocs` as the document root for any MAMP PRO site.
## Starting the servers
[Section titled “Starting the servers”](#starting-the-servers)
Click the **Start** button in the top-right of the toolbar to launch Apache and MySQL.

In the **Sites** list on the left, each site shows its status with a color-coded icon:
* **Blue** – the site is accessible
* **Light blue** – the site is not accessible
Hover over an entry to see a tooltip explaining why a site is unavailable.
Apache uses port **8888** by default. Include the port number in the URL when opening a site: `http://localhost:8888`.
## Sites
[Section titled “Sites”](#sites)
Each website you work on gets its own entry in the Sites list. If you have upgraded from MAMP, your existing localhost site is already listed.

## Opening localhost in the browser
[Section titled “Opening localhost in the browser”](#opening-localhost-in-the-browser)
Your default site is “localhost”. Its files are stored in `~/Sites/localhost`. Click the **Open** button to the right of the site name to open the site in your default browser.

# MAMP PRO Installation
> System requirements and installation instructions for MAMP PRO on macOS.
## System Requirements
[Section titled “System Requirements”](#system-requirements)
The following minimum system requirements must be met:
* **Operating System:** macOS 11.0 Big Sur or higher
* **Processor:** Intel or Apple Silicon (M1/M2/M3) chip
* **Storage Space:** More than 3GB of available space
* **User Account:** A user account that belongs to the Admin group. Go to “System Settings › Users & Groups” to confirm.
## Installation Process
[Section titled “Installation Process”](#installation-process)
1. Download “MAMP & MAMP PRO Downloader” from [www.mamp.info](https://downloads.mamp.info/MAMP-PRO/macOS/MAMP-PRO/MAMP-MAMP-PRO-Downloader.zip).
2. Double-click the file “MAMP-MAMP-PRO-Downloader.zip” in your Downloads folder. This unpacks the ZIP archive.
3. Double-click the file “MAMP & MAMP PRO Downloader.app” in your Downloads folder.
4. The downloader fetches the appropriate version for your system and starts the installation.
5. The installer will guide you through the installation process.
This installer will install the “MAMP” folder and the “MAMP PRO” application in the “Applications” directory. Do not move or rename the MAMP folder.
When MAMP PRO is launched for the first time, an additional helper tool is installed. The MAMP PRO Helper Tool is a daemon that helps MAMP PRO perform certain tasks in the background and maintain the stability and functionality of the application. You will be prompted to enter your macOS user password to authorize the installation.

[First Steps ](/en/MAMP-PRO-Mac/Getting-started/First-Steps/)Start your servers and open your first site in the browser.
# Upgrading from version 6 to version 7
> How to upgrade MAMP PRO from version 6 to version 7 on macOS.
The installation process for version 7 follows the same steps as a fresh installation — see [MAMP PRO Installation](/en/MAMP-PRO-Mac/Getting-started/Installation/) for details. The installer handles the upgrade automatically with the additional steps below.
## Upgrade-specific steps
[Section titled “Upgrade-specific steps”](#upgrade-specific-steps)
1. The installer renames your existing `/Applications/MAMP` folder to `/Applications/MAMP_current_date`. You can delete this folder later, or keep it to revert to your original setup.
2. Your existing `htdocs` folder is moved to the new `/Applications/MAMP` folder.
3. If you have made changes to configuration templates (Apache, Nginx, PHP, MySQL, Redis), the installer detects this and saves the modified templates to your Desktop in a folder named `MAMP PRO Saved Templates current_date`. You can then reintegrate your changes into the new templates.
4. Confirm that all data has been transferred correctly before starting MAMP PRO.
5. Your `/Applications/MAMP_current_date` folder can now be deleted. Keep it if you want to be able to revert.
## Tips
[Section titled “Tips”](#tips)
* **Backup** — Back up your sites, settings files, and databases before upgrading using [File › Backup…](/en/MAMP-PRO-Mac/Sites/Backup/).
* **Settings** — Your site settings are not affected by the upgrade.
* **Database files** — Your database files in `~/Library/Application Support/appsolute/MAMP PRO/db/mysql57` (or `mysql80`) are not affected by the upgrade.
# Upgrading from MAMP to MAMP PRO
> How to upgrade from MAMP to MAMP PRO and what to know about the one-time data migration.
The MAMP installer package installs both MAMP and MAMP PRO. MAMP is located in `/Applications/MAMP`, MAMP PRO in `/Applications`. They share the same servers, tools and interpreters — MAMP PRO picks up where you left off in MAMP.
1. **Open MAMP PRO**
Click on the “MAMP PRO.app” icon in the `/Applications` folder.
2. **Data migration on first launch**
On first launch, MAMP PRO copies your existing MySQL databases and htdocs folder automatically. This happens only once.
One-time copy
MAMP PRO copies your data exactly once. If you have already launched MAMP PRO before, the copy happened then — you may be looking at an older version of your data.
Database locations for reference:
* MAMP: `/Applications/MAMP/db`
* MAMP PRO: `~/Library/Application Support/appsolute/MAMP PRO/db`
If you need to manually transfer databases, see [How to transfer database data from MAMP to MAMP PRO](/en/MAMP-PRO-Mac/How-to/MySQL/How-to-transfer-database-data-from-MAMP-to-MAMP-PRO/).
3. **Continue with First Steps**
For starting the servers, navigating the interface and opening your site in the browser, see [First Steps](/en/MAMP-PRO-Mac/Getting-started/First-Steps/).
# System Requirements
> MAMP PRO (macOS) Documentation > Installation > System Requirements
The following minimum system requirements must be met:
* **Operating System:** macOS 11.0 Big Sur or higher
* **Processor:** Intel or Apple Silicon (M1/M2/M3) chip
* **Storage Space:** More than 3GB of available space
* **User Account:** A user account that belongs to the Admin group. Go to “System Settings › Users & Groups” to confirm.
Make sure your development environment meets these system requirements before installing MAMP PRO.
# Updates
> You can update MAMP PRO directly through the MAMP PRO interface using Updates.
To update MAMP PRO, go to “MAMP PRO › Check for Updates…”

* You can install additional PHP versions directly from the [PHP settings screen](/en/MAMP-PRO-Mac/Settings/Languages/PHP/).
* You can install additional Python versions directly from the [Python settings screen](/en/MAMP-PRO-Mac/Settings/Languages/Python/).
# How-to guides
> Step-by-step guides for common tasks in MAMP PRO: MySQL, PHP, hosting transfers, and more.
[MySQL ](/en/MAMP-PRO-Mac/How-to/MySQL/)Connect to MySQL, change the root password, set the storage engine, and more.
[PHP ](/en/MAMP-PRO-Mac/How-to/PHP/)Edit php.ini, install extensions via PECL, increase memory limits, and debug with Xdebug.
[Hosting ](/en/MAMP-PRO-Mac/How-to/Hosting/)Upload and download sites to remote hosting providers, test credentials, and check remote PHP settings.
[Python ](/en/MAMP-PRO-Mac/How-to/Python/)Connect to the MAMP PRO MySQL server from Python scripts.
[Uninstall MAMP PRO ](/en/MAMP-PRO-Mac/How-to/Uninstall-MAMP-PRO/)How to completely remove MAMP PRO from your Mac using the built-in uninstaller.
[Automation ](/en/MAMP-PRO-Mac/How-to/Automation/)Control servers, manage sites and databases, and create snapshots using AppleScript or JavaScript for Automation.
# Automate MAMP PRO with AppleScript
> Control MAMP PRO servers, manage sites and databases, and create snapshots using AppleScript or JavaScript for Automation (JXA).
MAMP PRO supports AppleScript and JavaScript for Automation (JXA). Both scripting languages give you access to the same set of commands. The examples below use AppleScript; see [JavaScript for Automation](#javascript-for-automation-jxa) for the JXA equivalents.
Note
MAMP PRO must be running before any script can connect to it. If the app is not open, use `tell application "MAMP PRO" to activate` first and add a short delay before sending further commands.
The first time a script targets MAMP PRO, macOS will ask you to grant Automation permission. See [AppleScript permissions on macOS](/en/MAMP-PRO-Mac/FAQ/General/AppleScript-Permissions-on-macOS/) if permission was denied and needs to be re-enabled.
## Server control
[Section titled “Server control”](#server-control)
### Get server status
[Section titled “Get server status”](#get-server-status)
```applescript
tell application "MAMP PRO" server status "Apache"end tell
```
Returns one of: `stopped`, `starting`, `stopping`, `restarting`, `running`, `activatingSystemStart`, `deactivatingSystemStart`, `killing`, `unknown`.
### Start or stop a single server
[Section titled “Start or stop a single server”](#start-or-stop-a-single-server)
```applescript
tell application "MAMP PRO" start server "Apache" start server "MySQL"end tell
```
```applescript
tell application "MAMP PRO" stop server "Apache"end tell
```
Returns the server name on success, or `missing value` on error. Common reasons for failure: the server is already running, or the name does not match exactly. Use `server status` to check the current state before calling `start server` or `stop server`.
### Start or stop all servers
[Section titled “Start or stop all servers”](#start-or-stop-all-servers)
```applescript
tell application "MAMP PRO" start all serversend tell
```
```applescript
tell application "MAMP PRO" stop all serversend tell
```
### Start GroupStart servers
[Section titled “Start GroupStart servers”](#start-groupstart-servers)
Starts only the servers that have **Start with GroupStart** enabled in MAMP PRO settings.
```applescript
tell application "MAMP PRO" start groupstart serversend tell
```
## Managing sites
[Section titled “Managing sites”](#managing-sites)
### List sites
[Section titled “List sites”](#list-sites)
```applescript
tell application "MAMP PRO" list all hostsend tell
```
Returns a list of all site names. Use `list active hosts` to get only sites that are available when all GroupStart servers are running, or `list inactive hosts` for the rest.
### Add a site
[Section titled “Add a site”](#add-a-site)
```applescript
tell application "MAMP PRO" add host "myproject.local" document root "/Users/me/Sites/myproject"end tell
```
Note
The folders specified for `document root` and `site root` must already exist on disk before calling `add host`.
Optional parameters:
| Parameter | Type | Description |
| ------------------- | ------- | ----------------------------------------------------- |
| `site root` | text | Path to the site root folder |
| `ssl` | boolean | Enable SSL |
| `database` | text | Name of a new database to create and map to this site |
| `install WordPress` | boolean | Install WordPress automatically |
| `wpAdminName` | text | WordPress admin username |
| `wpAdminPassword` | text | WordPress admin password |
| `wpDatabaseName` | text | WordPress database name |
| `wpDbUserName` | text | WordPress database user |
| `wpDbPassword` | text | WordPress database password |
| `wpEmailAddress` | text | WordPress admin email address |
### Add a site with WordPress
[Section titled “Add a site with WordPress”](#add-a-site-with-wordpress)
```applescript
tell application "MAMP PRO" add host "myblog.local" ¬ document root "/Users/me/Sites/myblog" ¬ install WordPress true ¬ wpAdminName "admin" ¬ wpAdminPassword "secret" ¬ wpDatabaseName "myblog_db" ¬ wpDbUserName "root" ¬ wpDbPassword "root" ¬ wpEmailAddress "me@example.com"end tell
```
## Managing databases
[Section titled “Managing databases”](#managing-databases)
### List databases
[Section titled “List databases”](#list-databases)
```applescript
tell application "MAMP PRO" list databasesend tell
```
Returns a list of all MySQL database names. System databases (`information_schema`, `mysql`, `performance_schema`, `sys`) are omitted.
### Add a database
[Section titled “Add a database”](#add-a-database)
```applescript
tell application "MAMP PRO" add database "my_new_database"end tell
```
Returns `true` if the database was created, `false` otherwise.
## Snapshots
[Section titled “Snapshots”](#snapshots)
### Create a snapshot of a site
[Section titled “Create a snapshot of a site”](#create-a-snapshot-of-a-site)
```applescript
tell application "MAMP PRO" create snapshot of host "myproject.local"end tell
```
To save the snapshot to a specific path:
```applescript
tell application "MAMP PRO" create snapshot of host "myproject.local" as "/Users/me/Backups/myproject.zip"end tell
```
### Create a snapshot of all sites
[Section titled “Create a snapshot of all sites”](#create-a-snapshot-of-all-sites)
```applescript
tell application "MAMP PRO" create snapshot of all hostsend tell
```
## JavaScript for Automation (JXA)
[Section titled “JavaScript for Automation (JXA)”](#javascript-for-automation-jxa)
All commands are available in JXA as well. Run JXA scripts in Script Editor by selecting **JavaScript** as the language.
```javascript
const mampPro = Application("MAMP PRO");
// Get server statusmampPro.serverStatus("Apache");
// Start and stop serversmampPro.startServer("Apache");mampPro.stopAllServers();
// List and add sitesconst sites = mampPro.listAllHosts();mampPro.addHost("myproject.local", { documentRoot: "/Users/me/Sites/myproject" });
// Databasesconst dbs = mampPro.listDatabases();mampPro.addDatabase("my_new_database");
// SnapshotsmampPro.createSnapshotOfHost("myproject.local", { as: "/Users/me/Backups/myproject.zip" });mampPro.createSnapshotOfAllHosts();
```
On error, JXA commands return `null` instead of `missing value`.
# Hosting transfer how-to guides
> Step-by-step guides for transferring MAMP PRO sites to and from remote hosting providers: upload, download, test credentials, and verify PHP settings.
[Upload a site to a hosting provider ](/en/MAMP-PRO-Mac/How-to/Hosting/Upload-a-site-to-a-hosting-provider/)
[Download a site from a hosting provider ](/en/MAMP-PRO-Mac/How-to/Hosting/Download-a-site-from-a-hosting-provider/)
[Test remote credentials ](/en/MAMP-PRO-Mac/How-to/Hosting/Test-remote-credentials/)
[Check remote PHP settings ](/en/MAMP-PRO-Mac/How-to/Hosting/Check-remote-PHP-settings/)
# Check remote PHP settings
> How to verify the PHP settings on a remote hosting server using MAMP PRO.
1. Create a file named `phpinfo.php` with the following content:
```php
```
2. Upload `phpinfo.php` to your remote server’s document root.
3. Open the file in your browser (e.g. `http://www.example.com/phpinfo.php`).
4. You will see the full PHP configuration.
Security note
Remove this file from your server immediately after running it, or protect it with an `.htaccess` access restriction. The script reveals server configuration details that could be exploited.

## Additional Information
[Section titled “Additional Information”](#additional-information)
* [PHP documentation – phpinfo()](https://www.php.net/manual/en/function.phpinfo.php)
***
← [Hosting how-to guides](/en/MAMP-PRO-Mac/How-to/Hosting/)
# Download a site from a hosting provider
> How to download a site from a remote hosting provider to your local Mac using MAMP PRO.
MAMP PRO can pull a site from a remote hosting provider down to your local machine via FTP or SFTP.
1. In the Sites list, select the site (or create a new one) that should receive the downloaded content.
2. Open the **Transfer** tab and fill in the remote server details (host, username, password, remote path). A full description of all available fields can be found on the [Transfer › Hosting](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/) reference page.
3. Save the site settings via **File › Save** or `⌘` `S`.
4. Click **Validity** to verify that the credentials and remote path are correct.
5. If the check passes, click **Import…** to start the download.
MAMP PRO copies the remote files and database into your local site folder.
***
← [Hosting how-to guides](/en/MAMP-PRO-Mac/How-to/Hosting/)
# Test remote credentials
> How to test and validate your remote hosting credentials in MAMP PRO.
Web server environments can be configured in countless ways, and MAMP PRO’s remote features may not work correctly with every possible configuration.
To help troubleshoot such problems, MAMP PRO provides a small PHP script that lets you check your server’s configuration and gather basic statistics about the server environment. This can help identify configuration issues that may be affecting MAMP PRO’s remote features.
## Confirm your remote PHP settings
[Section titled “Confirm your remote PHP settings”](#confirm-your-remote-php-settings)
1. Download the archive [check.php.zip](/en/MAMP-PRO-Mac/How-to/Hosting/Test-remote-credentials/check.php.zip) and unzip it locally. There will be two files – `check.php` (the actual test script) and `check.json.php` (its configuration file).
2. Connect to your remote server, change to its document root and create a directory called `.test` with a subdirectory called `scripts`.
3. Upload both files into the `scripts` directory, so the test script is reachable at `/.test/scripts/check.php` on your remote host.
4. Adjust the configuration of the test script by modifying the uploaded `check.json.php` file.
5. Open `https://MyRemoteHost/.test/scripts/check.php` in your browser (replace `MyRemoteHost` with your domain; use `http` if `https` is not available).
If you cannot run this script because the server does not meet its minimum requirements, contact your hosting provider to find out whether you can adjust your server’s configuration and, if so, how.
Script version: 3.2.0 Publish date: 11/10/2022
Security note
Remove this script from your server immediately after running it, or protect it with an `.htaccess` access restriction. The script reveals server configuration details that could be exploited.
## Successful Response
[Section titled “Successful Response”](#successful-response)
The output of this script will look something like this:

***
← [Hosting how-to guides](/en/MAMP-PRO-Mac/How-to/Hosting/)
# Upload a site to a hosting provider
> How to upload a local MAMP PRO site to a remote hosting provider.
MAMP PRO can transfer a local site to a remote hosting provider via FTP or SFTP directly from the app.
1. In the Sites list, select the site you want to upload.
2. Open the **Transfer** tab and fill in the remote server details (host, username, password, remote path). A full description of all available fields can be found on the [Transfer › Hosting](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/) reference page.
3. Save the site settings via **File › Save** or `⌘` `S`.
4. Click **Validity** to verify that the credentials and remote path are correct.
5. If the check passes, click **Publish…** to start the upload.
MAMP PRO copies your site files and the associated database to the remote server. Transfer progress is shown in the log panel at the bottom of the window.
***
← [Hosting how-to guides](/en/MAMP-PRO-Mac/How-to/Hosting/)
# MySQL how-to guides
> Step-by-step MySQL guides for MAMP PRO: connect with PHP, Perl, Python, or Sequel Ace; change the password; configure the storage engine; and transfer databases.
[Change the MySQL password ](/en/MAMP-PRO-Mac/How-to/MySQL/How-can-I-change-the-MySQL-password/)
[Connect to MySQL with PHP ](/en/MAMP-PRO-Mac/How-to/MySQL/How-do-I-connect-to-MySQL-with-PHP/)
[Connect to MySQL with Perl ](/en/MAMP-PRO-Mac/How-to/MySQL/How-do-I-connect-to-MySQL-with-Perl/)
[Connect to MySQL with Python ](/en/MAMP-PRO-Mac/How-to/MySQL/How-do-I-connect-to-MySQL-with-Python/)
[Connect to MySQL with Sequel Ace ](/en/MAMP-PRO-Mac/How-to/MySQL/How-do-I-connect-to-MySQL-with-Sequel-Ace/)
[Set the default MySQL storage engine ](/en/MAMP-PRO-Mac/How-to/MySQL/How-do-I-define-the-default-MySQL-Storage-Engine/)
[Check the active MySQL storage engine ](/en/MAMP-PRO-Mac/How-to/MySQL/How-do-I-determine-the-default-MySQL-Storage-Engine/)
[Transfer database data from MAMP to MAMP PRO ](/en/MAMP-PRO-Mac/How-to/MySQL/How-to-transfer-database-data-from-MAMP-to-MAMP-PRO/)
[Change PHP configuration for phpMyAdmin ](/en/MAMP-PRO-Mac/How-to/MySQL/Change-PHP-configuration-for-phpMyAdmin/)
[Change the phpMyAdmin interface language ](/en/MAMP-PRO-Mac/How-to/MySQL/Change-the-interface-language-of-phpMyAdmin-permanently/)
# Change PHP configuration for phpMyAdmin
> How to change the PHP configuration used by phpMyAdmin in MAMP PRO.
If the default PHP configuration values for `upload_max_filesize` or `post_max_size` are too low for your needs when using phpMyAdmin, you can change these values in MAMP PRO. First, check which PHP version is used for the “localhost” site. For example, if it is “PHP 8.2.0”, open the corresponding php.ini template via “File › Open Template › PHP (php.ini) › 8.2.0”. Make the desired changes and close the editor window. A dialog will ask whether you want to save the changes — click “Save” to confirm. The servers will restart automatically. After that, phpMyAdmin is available on the “localhost” site with the updated PHP configuration.
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# Change the interface language of phpMyAdmin permanently
> How to permanently change the display language of the phpMyAdmin interface in MAMP PRO.
1. Open the file `/Library/Application Support/appsolute/MAMP PRO/phpMyAdmin/config.inc.php` in a text editor.
2. Search for the following line:
```php
// $cfg['lang'] = 'en-iso-8859-1';
```
3. Remove the comment characters (`//`) at the beginning of the line and change the assignment value to `nl` (for example, for Dutch):
```php
$cfg['lang'] = 'nl';
```
4. Save and close the file.
5. Open phpMyAdmin. The interface language is now Dutch.
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# How can I change the MySQL password?
> Step-by-step guide to changing the MySQL root password in MAMP PRO.
1. Open MAMP PRO.
2. Stop the servers if they are already running.
3. Go to **Tools › MySQL › Change Password for MySQL 8.0 user ‘root’…**
4. Enter the new password in both fields of the dialog that appears.

5. Confirm by clicking **Change**.
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# How do I connect to MySQL with Perl?
> Perl code example for connecting to a MySQL database running in MAMP PRO.
```perl
#!/usr/bin/perluse strict;use warnings;use DBI;
print "Content-type: text/html\n\n";
my $source = 'DBI:mysql:test:localhost'; # format = DBI:mysql:database:hostnamemy $user = 'root';my $password = 'root';
my %attr = ( PrintError => 0, # turn off error reporting via warn() RaiseError => 1, # turn on error reporting via die());
my $dbc = DBI->connect($source, $user, $password, \%attr)or die "Unable to connect to mysql: $DBI::errstr\n";
my $sql = $dbc->prepare("SELECT `id`, `name` FROM `test`");$sql->execute()or die "Unable to execute sql: " . $sql->errstr;
while ((my $id, my $name) = $sql->fetchrow_array()) { print "id: $id / name: $name
";}
$sql->finish();$dbc->disconnect();
```
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# How do I connect to MySQL with PHP?
> PHP code examples for connecting to MySQL via mysqli in MAMP PRO.
## UNIX Socket (Recommended)
[Section titled “UNIX Socket (Recommended)”](#unix-socket-recommended)
```php
$db_host = 'localhost';$db_user = 'root';$db_password = 'root';$db_db = 'information_schema';
$mysqli = new mysqli( $db_host, $db_user, $db_password, $db_db);
if ($mysqli->connect_error) { echo 'Errno: ' . $mysqli->connect_errno; echo '
'; echo 'Error: ' . $mysqli->connect_error; exit();}
echo 'Success: A proper connection to MySQL was made.';echo '
';echo 'Host information: ' . $mysqli->host_info;echo '
';echo 'Protocol version: ' . $mysqli->protocol_version;
$mysqli->close();
```
## TCP/IP
[Section titled “TCP/IP”](#tcpip)
```php
$db_host = '127.0.0.1';$db_user = 'root';$db_password = 'root';$db_db = 'information_schema';$db_port = 8889; // MAMP PRO default; use 3306 if you have set standard ports
$mysqli = new mysqli( $db_host, $db_user, $db_password, $db_db, $db_port);
if ($mysqli->connect_error) { echo 'Errno: ' . $mysqli->connect_errno; echo '
'; echo 'Error: ' . $mysqli->connect_error; exit();}
echo 'Success: A proper connection to MySQL was made.';echo '
';echo 'Host information: ' . $mysqli->host_info;echo '
';echo 'Protocol version: ' . $mysqli->protocol_version;
$mysqli->close();
```
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# How do I connect to MySQL with Python?
> Python code example for connecting to a MySQL database running in MAMP PRO.
## UNIX Socket (Recommended)
[Section titled “UNIX Socket (Recommended)”](#unix-socket-recommended)
```python
#!/usr/bin/env /Applications/MAMP/Library/bin/python
import mysql.connector
config = { 'user': 'root', 'password': 'root', 'unix_socket': '/Applications/MAMP/tmp/mysql/mysql.sock', 'database': 'test', # replace with your database name 'raise_on_warnings': True}
cnx = Nonetry: cnx = mysql.connector.connect(**config) cursor = cnx.cursor(dictionary=True) cursor.execute('SELECT `id`, `name` FROM `test`')
for row in cursor.fetchall(): print('%s | %s' % (row['id'], row['name']))finally: if cnx: cnx.close()
```
## TCP/IP
[Section titled “TCP/IP”](#tcpip)
```python
#!/usr/bin/env /Applications/MAMP/Library/bin/python
import mysql.connector
config = { 'user': 'root', 'password': 'root', 'host': '127.0.0.1', 'port': 3306, # default MAMP PRO MySQL port 'database': 'test', # replace with your database name 'raise_on_warnings': True}
cnx = Nonetry: cnx = mysql.connector.connect(**config) cursor = cnx.cursor(dictionary=True) cursor.execute('SELECT `id`, `name` FROM `test`')
for row in cursor.fetchall(): print('%s | %s' % (row['id'], row['name']))finally: if cnx: cnx.close()
```
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# How do I connect to MySQL with Sequel Ace?
> How to connect to the MySQL database in MAMP PRO using Sequel Ace.
Sequel Ace (previously Sequel Pro) is a macOS application for administering MySQL databases. It can be launched directly from MAMP PRO.
## Set up MAMP PRO
[Section titled “Set up MAMP PRO”](#set-up-mamp-pro)
1. Install Sequel Ace from the [Mac App Store](https://apps.apple.com/us/app/sequel-ace/id1518036000?ls=1).
2. Start MAMP PRO.
3. Click on **MySQL** in the sidebar.
4. Enable **Allow network access to MySQL**.
5. Save the settings with `⌘` `S` or **File › Save**.
6. Start the servers.
7. Open Sequel Ace via **Tools › MySQL › Open Sequel Ace…**, or via **Site › Databases › Open in Sequel Ace**.
8. Save the connection as a favorite so you can reconnect without re-entering the details each time.
## Connect with Sequel Ace
[Section titled “Connect with Sequel Ace”](#connect-with-sequel-ace)
1. Start Sequel Ace.
2. Select the connection type **TCP/IP**.
Note
A socket connection is not available in the App Store version due to Apple’s sandbox restrictions.
3. Enter the following connection details:

| Field | Value |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **Name** | Any name, e.g. `MAMP PRO`. If you name the favourite “MAMP PRO”, its port will be updated automatically when MAMP PRO changes the MySQL port. |
| **Host** | `localhost` |
| **Username** | `root` (default) |
| **Password** | `root` (default) |
4. Click **Connect**.
You can now use the **Choose Database** field to select a database.


***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# How do I define the default MySQL Storage Engine?
> How to set the default MySQL storage engine (e.g. InnoDB or MyISAM) in MAMP PRO.
The MySQL server in MAMP PRO uses MyISAM as the default storage engine. The following steps show how to change it to InnoDB.
1. Start MAMP PRO.
2. Stop the servers if they are running.
3. Go to **File › Open Template › MySQL (my.cnf) › \[version]**.
4. An editor window opens. If a warning message appears, confirm with **OK**.

5. Find the `[mysqld]` section.
6. Add the following line at the end of the `[mysqld]` section:
```ini
default-storage-engine = InnoDB
```
7. Save the file (`⌘` `S`).
8. Close the editor (`⌘` `W`).
9. Start the servers.
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# How do I determine the default MySQL Storage Engine?
> How to check which MySQL storage engine is currently set as the default in MAMP PRO.
1. Open MAMP PRO and start the servers.
2. Open **Terminal** (`/Applications/Utilities/Terminal.app`).
3. Change to the MySQL binary directory:
```bash
cd /Applications/MAMP/Library/bin
```
4. Connect to the MySQL server:
```bash
./mysql --host=localhost -u root -proot
```
5. Select the `information_schema` database:
```sql
USE information_schema;
```
6. Query the storage engines:
```sql
SELECT * FROM engines;
```
7. In the result table, look for the row in the **Support** column with the value `DEFAULT` — that is the active default storage engine.
8. Exit the MySQL prompt:
```sql
exit;
```
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# How to transfer database data from MAMP to MAMP PRO?
> How to migrate your MySQL database data from MAMP to MAMP PRO.
When you upgrade from MAMP to MAMP PRO, your databases are usually copied automatically on first launch. If that did not happen, or if you need to re-import the MAMP databases manually, follow these steps.
1. Stop all servers and quit both MAMP and MAMP PRO.
2. In Finder, press `⌘` `⇧` `G` (or choose **Go › Go to Folder**) and navigate to:
```plaintext
/Library/Application Support/appsolute/MAMP PRO/db/
```
3. Rename any folder that starts with `mysql` by appending `_bak` (for example `mysql56` → `mysql56_bak`). This removes MAMP PRO’s existing database data.
4. Open MAMP PRO and start the servers.
On startup, MAMP PRO detects that no suitable database folder exists and automatically re-copies the MAMP database data from `/Applications/MAMP/db/`.
***
← [MySQL how-to guides](/en/MAMP-PRO-Mac/How-to/MySQL/)
# PHP how-to guides
> Step-by-step PHP guides for MAMP PRO: edit php.ini, install extensions, increase memory limits, use Xdebug, and connect to MySQL from PHP scripts.
[Edit the php.ini file ](/en/MAMP-PRO-Mac/How-to/PHP/Edit-php.ini-file/)
[Increase the PHP memory limit ](/en/MAMP-PRO-Mac/How-to/PHP/Increase-the-PHP-memory-limit/)
[Install a PHP extension using PECL ](/en/MAMP-PRO-Mac/How-to/PHP/Install-a-PHP-extension-using-PECL/)
[Install ionCube Loader ](/en/MAMP-PRO-Mac/How-to/PHP/Install-ionCube-Loader/)
[Adjust Xdebug modes for better performance ](/en/MAMP-PRO-Mac/How-to/PHP/How-to-adjust-Xdebug-modes-for-better-performance/)
[Check local PHP settings ](/en/MAMP-PRO-Mac/How-to/PHP/How-can-I-check-the-local-PHP-settings/)
[Activate output buffering ](/en/MAMP-PRO-Mac/How-to/PHP/Activate-Output-Buffering/)
[Disable PHP's mail function ](/en/MAMP-PRO-Mac/How-to/PHP/Disable-PHPs-mail-function/)
[Connect to MySQL from PHP ](/en/MAMP-PRO-Mac/How-to/PHP/Connect-to-MySQL-from-PHP/)
[Use the MacGDBp debugger ](/en/MAMP-PRO-Mac/How-to/PHP/Using-the-MacGDBp-Debugger/)
# Activate Output Buffering
> How to enable PHP output buffering in MAMP PRO.
Output buffering controls whether PHP collects output before sending it to the browser. Enabling it is required by some libraries and frameworks.
1. Open MAMP PRO.
2. Stop the servers if they are running.
3. Go to **File › Open Template › PHP (php.ini) › \[PHP version]**.
4. Search for:
```ini
output_buffering = Off
```
5. Change `Off` to `On` to enable buffering for all output, or set a maximum buffer size in bytes (for example `4096`):
```ini
output_buffering = On
```
6. Save and close the file.
7. Start the servers.
***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# Connect to MySQL from PHP
> PHP code examples for connecting to the MAMP PRO MySQL server from your scripts.
How to connect to the MAMP PRO MySQL server from PHP scripts using the correct host, port, and credentials.
| Parameter | Value |
| ------------- | ----------------------------------------- |
| Host (socket) | `localhost` |
| Host (TCP/IP) | `127.0.0.1` |
| Port | `8889` |
| Username | `root` |
| Password | `root` (unless changed in MAMP PRO) |
| Socket | `/Applications/MAMP/tmp/mysql/mysql.sock` |
## UNIX Socket (Recommended)
[Section titled “UNIX Socket (Recommended)”](#unix-socket-recommended)
Use `localhost` as the host. PHP will automatically use the UNIX socket for local connections, which is faster than TCP/IP.
```php
connect_error) { echo 'Errno: ' . $mysqli->connect_errno . '
'; echo 'Error: ' . $mysqli->connect_error; exit();}
echo 'Success: A proper connection to MySQL was made.
';echo 'Host information: ' . $mysqli->host_info . '
';echo 'Protocol version: ' . $mysqli->protocol_version;
$mysqli->close();?>
```
## TCP/IP
[Section titled “TCP/IP”](#tcpip)
Use `127.0.0.1` as the host and specify port `8889` explicitly. Required when the connection is made over a network or when a port must be provided.
```php
connect_error) { echo 'Errno: ' . $mysqli->connect_errno . '
'; echo 'Error: ' . $mysqli->connect_error; exit();}
echo 'Success: A proper connection to MySQL was made.
';echo 'Host information: ' . $mysqli->host_info . '
';echo 'Protocol version: ' . $mysqli->protocol_version;
$mysqli->close();?>
```
## Troubleshooting
[Section titled “Troubleshooting”](#troubleshooting)
**Connection refused**\
Open MAMP PRO and verify that the MySQL server is active.
**Access denied for user ‘root’**\
The username or password is incorrect. The default password is `root`, but if you changed it in MAMP PRO, use that password instead. See [How to change the MySQL password](/en/MAMP-PRO-Mac/How-to/MySQL/How-can-I-change-the-MySQL-password/).
**Unknown database**\
The specified database does not exist. Create it first in phpMyAdmin or in MAMP PRO via the Databases tab.
**Can’t connect to MySQL server on ‘127.0.0.1:3306’**\
MAMP PRO may not use port `3306`. Check the configured port under **Settings › Server › Ports** and update your script accordingly (e.g. `$db_port = 8889`).
***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# Disable PHP's mail function
> How to disable PHP's mail() function in MAMP PRO to prevent accidental email sending during development.
During local development you usually do not want PHP to actually send emails. Disabling the [`mail()`](https://www.php.net/manual/en/function.mail.php) function prevents accidental outgoing mail from your local sites.
1. Open MAMP PRO.
2. Go to **File › Open Template › PHP (php.ini) › \[PHP version]**.
3. Add the following line inside the `[PHP]` section:
```ini
disable_functions = "mail"
```
4. Save and close the file.
5. Restart the servers.
Calls to `mail()` will now silently fail instead of attempting to send email.
***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# Edit php.ini file
> How to edit the php.ini configuration file for a PHP version in MAMP PRO using the Template Editor.
The `php.ini` file is PHP’s central configuration file. It controls a wide range of runtime settings — including the memory limit, maximum file upload size, execution time, error reporting behavior, and which extensions are loaded. Each PHP version has its own `php.ini`, so changes only affect the version you edit.
In MAMP PRO, `php.ini` is managed through the Template Editor. You do not edit the file directly on disk; instead, MAMP PRO generates the active configuration from this template each time the servers start.
1. Start MAMP PRO.
2. Go to **File › Open Template › PHP (php.ini)**.
3. Select the PHP version whose `php.ini` you want to edit.
4. Make the desired changes.
5. Save the file (`⌘` `S`).
6. Close the editor (`⌘` `W`).
7. Restart the servers.
***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# How can I check the local PHP settings?
> How to check the active PHP configuration and loaded settings in MAMP PRO.
To the right of the selection box for choosing the PHP version for a host is an arrow button. Click this button to display the current PHP configuration (output of the PHP function `phpinfo()`) in your default browser.

## Additional Information
[Section titled “Additional Information”](#additional-information)
* [PHP documentation - phpinfo()](https://www.php.net/manual/en/function.phpinfo.php)
***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# How to adjust Xdebug modes for better performance
> How to configure Xdebug modes in MAMP PRO to improve PHP script execution speed.
1. Open MAMP PRO.
2. Stop the servers if they are running.
3. Go to **File › Open Template › PHP (php.ini) › \[PHP version]**.
4. If a dialog box appears, read it and click **OK**.
5. Search for the line containing `xdebug.mode=` (`⌘` `F`). It may look like:
```ini
xdebug.mode=develop,coverage,debug,gcstats,profile,trace
```
6. Remove the modes you do not need. Removing `trace` in particular can significantly improve execution speed:
```ini
xdebug.mode=develop,coverage,debug,gcstats,profile
```
7. Save the file (`⌘` `S`).
8. Close the editor (`⌘` `W`).
9. Start the servers.
## Additional Information
[Section titled “Additional Information”](#additional-information)
* [Xdebug documentation – Modes](https://xdebug.org/docs/all_settings#mode)
***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# Increase the PHP memory limit
> How to increase the PHP memory_limit setting in MAMP PRO.
The PHP memory limit (`memory_limit`) defines the maximum amount of memory a single PHP script is allowed to allocate. If a script exceeds this limit, PHP terminates it with a fatal error: `Allowed memory size of X bytes exhausted`.
The default value is `128M`, which is sufficient for most simple scripts. However, memory-intensive operations can easily exceed this limit — common reasons to raise it include:
* Running a CMS such as WordPress, Joomla, or Drupal with many plugins or extensions
* Processing or resizing large images
* Importing or exporting large datasets
* Using frameworks or libraries that load substantial amounts of code into memory
1. Start MAMP PRO.
2. Stop the servers if they are running.
3. Go to **File › Open Template › PHP (php.ini) › \[PHP version]**.
4. If a dialog box appears, read it and click **OK**.
5. Search for `memory_limit` (`⌘` `F`):
```ini
memory_limit = 128M
```
6. Change the value to your desired limit, for example `256M` or `512M`:
```ini
memory_limit = 256M
```
7. Save the file (`⌘` `S`).
8. Close the editor (`⌘` `W`).
9. Start the servers.
***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# Install a PHP Extension using PECL
> How to install a PHP extension using PECL in MAMP PRO.
MAMP PRO provides all the requirements to install PHP extensions via PECL. This guide uses the `mongodb` extension and PHP 8.0.2 as an example.
1. Open MAMP PRO and click on **PHP** in the **Languages** sidebar section.
2. Set PHP 8.0.2 as the **Default version**.
3. Enable **Activate command line shortcuts for the selected PHP version**.
4. Restart the servers. A `pecl` alias is now added to `~/.profile`, `.profile`, and `.zprofile`.
5. Open **Terminal** (`/Applications/Utilities/Terminal.app`).
Note
If Terminal was already open, close and reopen it so the updated profile files take effect.
6. Change to the PHP binary directory:
```bash
cd /Applications/MAMP/bin/php/php8.0.2/bin
```
7. Install the extension:
```bash
pecl install mongodb
```
8. If you see `Cannot find autoconf`, install it first:
```bash
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gztar xzf autoconf-latest.tar.gzcd autoconf-*./configure --prefix=/usr/localmakesudo make install
```
Then return to the PHP directory and retry:
```bash
cd /Applications/MAMP/bin/php/php8.0.2/binpecl install mongodb
```
A successful build ends with output like:
```plaintext
Build process completed successfullyInstalling '.../mongodb.so'install ok: channel://pecl.php.net/mongodb-1.9.1
```
9. Verify that `mongodb.so` is in `/Applications/MAMP/bin/php/php8.0.2/lib/php/extensions/no-debug-non-zts-20200930/`.
10. Open the PHP 8.0.2 template via **File › Open Template › PHP (php.ini) › 8.0.2** and add:
```ini
extension=mongodb.so
```

11. Save and close the template.
12. Make sure the host you want to use is set to PHP 8.0.2.
13. Restart the servers and verify the extension is loaded via `phpinfo()`.

***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# Install ionCube Loader
> How to install the ionCube Loader PHP extension in MAMP PRO.
ionCube Loader is a PHP extension that allows your server to run PHP files encoded with ionCube — a tool commonly used by commercial software vendors to protect and license their PHP code. This guide explains how to install ionCube Loader in MAMP PRO.
The following example uses PHP 7.4.8. For a different PHP version, use the corresponding ionCube file and target directory.
1. Download the **macOS (64 bits)** archive from [ioncube.com/loaders.php](https://www.ioncube.com/loaders.php) and unpack it.
2. From the resulting `ioncube` directory, copy only `ioncube_loader_mac_7.4.so` to:
```plaintext
/Applications/MAMP/bin/php/php7.4.8/lib/php/extensions/no-debug-non-zts-20190902
```
3. Open the PHP 7.4.8 template via **File › Open Template › PHP (php.ini) › 7.4.8** and add the following line — it must appear **above** all other `zend_extension` directives:
```ini
zend_extension="/Applications/MAMP/bin/php/php7.4.8/lib/php/extensions/no-debug-non-zts-20190902/ioncube_loader_mac_7.4.so"
```
4. Restart the servers.
5. Verify the installation by checking `phpinfo()`. You should see an ionCube section:

***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# Using the MacGDBp Debugger
> How to use the MacGDBp debugger for PHP debugging in MAMP PRO.
To use the MacGDBp Debugger, first enable the Xdebug extension on the [Settings › Languages › PHP](/en/MAMP-PRO-Mac/Settings/Languages/PHP/) page. Restart your servers in MAMP PRO. Open the MacGDBp Debugger application. You may see a warning message about incoming network connections; click “Allow” to proceed.

Open your site and you should see a blank page in your browser. This is because the MacGDBp debugger has stopped your code at the first line of PHP code. You can now step through your PHP code.

***
← [PHP how-to guides](/en/MAMP-PRO-Mac/How-to/PHP/)
# Python how-to guides
> How to connect to the MAMP PRO MySQL server from Python scripts.
[Connect to MySQL from Python ](/en/MAMP-PRO-Mac/How-to/Python/Connect-to-MySQL-from-Python/)
# Connect to MySQL from Python
> Python code example for connecting to a MySQL database running in MAMP PRO.
## Connection Parameters
[Section titled “Connection Parameters”](#connection-parameters)
| Parameter | Value |
| ------------- | ----------------------------------------- |
| Host (socket) | `localhost` |
| Host (TCP/IP) | `127.0.0.1` |
| Port | `8889` |
| Username | `root` |
| Password | `root` (unless changed in MAMP PRO) |
| Socket | `/Applications/MAMP/tmp/mysql/mysql.sock` |
## Examples
[Section titled “Examples”](#examples)
* UNIX Socket (Recommended)
Use `localhost` as the host and provide the socket path explicitly. Faster than TCP/IP when script and database run on the same machine.
```python
#!/usr/bin/env /Applications/MAMP/Library/bin/python
import mysql.connector
config = { 'user': 'root', 'password': 'root', 'host': 'localhost', 'unix_socket': '/Applications/MAMP/tmp/mysql/mysql.sock', 'database': 'mydatabase', 'raise_on_warnings': True}
cnx = mysql.connector.connect(**config)cursor = cnx.cursor(dictionary=True)cursor.execute('SELECT `id`, `name` FROM `test`')
for row in cursor.fetchall(): print('%s | %s' % (row['id'], row['name']))
cnx.close()
```
* TCP/IP
Use `127.0.0.1` as the host and specify port `8889` explicitly. Required when a port must be provided or the connection is made over a network.
```python
#!/usr/bin/env /Applications/MAMP/Library/bin/python
import mysql.connector
config = { 'user': 'root', 'password': 'root', 'host': '127.0.0.1', 'port': 8889, 'database': 'mydatabase', 'raise_on_warnings': True}
cnx = mysql.connector.connect(**config)cursor = cnx.cursor(dictionary=True)cursor.execute('SELECT `id`, `name` FROM `test`')
for row in cursor.fetchall(): print('%s | %s' % (row['id'], row['name']))
cnx.close()
```
## Troubleshooting
[Section titled “Troubleshooting”](#troubleshooting)
**Connection refused**\
Open MAMP PRO and verify that the MySQL server is active.
**Access denied for user ‘root’**\
The username or password is incorrect. The default password is `root`, but if you changed it in MAMP PRO, use that password instead. See [How to change the MySQL password](/en/MAMP-PRO-Mac/How-to/MySQL/How-can-I-change-the-MySQL-password/).
**Unknown database**\
The specified database does not exist. Create it first in phpMyAdmin or in MAMP PRO via the Databases tab.
**Can’t connect to MySQL server on ‘127.0.0.1:3306’**\
MAMP PRO may not use port `3306`. Check the configured port under **Settings › Server › Ports** and update your script accordingly (e.g. `'port': 8889`).
***
← [Python how-to guides](/en/MAMP-PRO-Mac/How-to/Python/)
# Uninstall MAMP PRO
> How to completely uninstall MAMP PRO from your Mac using the built-in uninstaller.
MAMP PRO includes a built-in uninstaller accessible from the main menu.
Databases will be deleted
Uninstalling MAMP PRO removes your databases stored in `/Library/Application Support/appsolute/MAMP PRO/db`. Back up any databases you want to keep before proceeding.
1. From the menu bar, go to **MAMP PRO › Uninstall MAMP PRO…** to start the uninstall process.

2. Enter your macOS administrator password when prompted.

3. When the process completes, a confirmation message appears.

4. Drag `/Applications/MAMP` to the Trash to remove the remaining MAMP files.
# MAMP Viewer
> MAMP Viewer
The MAMP PRO and MAMP Viewer combination is a great way to preview your site on a mobile device. MAMP Viewer is available in the Apple App Store. To make your site (the site name must end with .local) visible in MAMP Viewer, enable it on the [Sites › Site › General › Basic](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/#mamp_viewer) tab and restart your servers.

Preview your work with the MAMP Viewer, available for iOS.
* [MAMP Viewer in the AppStore](https://apps.apple.com/us/app/mamp-viewer/id1047237620?mt=8)

[]()
## NAMO
[Section titled “NAMO”](#namo)
NAMO is a local DNS resolver that reads MAMP Viewer sites from MAMP PRO and makes them available on the local network — using their real names, in any browser, not just MAMP Viewer. Learn more on the [NAMO website](https://www.mamp.info/namo/en/).
# Menu
> Reference for all MAMP PRO menu items – MAMP PRO, File, Editor, Site, Tools, Log, View, Window, and Help.
[MAMP PRO ](/en/MAMP-PRO-Mac/Menu/MAMP-PRO/)About, preferences, registration, and quit options.
[File ](/en/MAMP-PRO-Mac/Menu/File/)Create, import, and manage sites.
[Editor ](/en/MAMP-PRO-Mac/Menu/Editor/)Open the built-in MAMP PRO editor.
[Site ](/en/MAMP-PRO-Mac/Menu/Site/)Snapshot, backup, and site-specific actions.
[Tools ](/en/MAMP-PRO-Mac/Menu/Tools/)Start and stop servers and access developer tools.
[Log ](/en/MAMP-PRO-Mac/Menu/Log/)Open Apache, Nginx, MySQL, and other log files.
[View ](/en/MAMP-PRO-Mac/Menu/View/)Switch between editor tabs and adjust the interface.
[Window ](/en/MAMP-PRO-Mac/Menu/Window/)Manage and arrange MAMP PRO windows.
[Help ](/en/MAMP-PRO-Mac/Menu/Help/)Search menu items and access documentation.
# Editor
> Editor
* **Open Editor…**\
Click this menu item to open the MAMP PRO editor.
* **Show Editor Commands…**
* **Shift Left**
* **Shift Right**
* **(Un)Comment Selection**
* **Block-(un)comment Selection**
* **Prefix/Suffix Lines…**
* **Remove trailing Whitespace**
* **Move selected Lines up**
* **Move selected Lines down**
* **Copy selected Lines up**
* **Copy selected Lines down**
* **Sort lines ascending**
* **Sort lines descending**
* **Entab (Spaces -> Tabs)…**
* **Detab (Tabs -> Spaces)…**
* **Capitalize First Letter Of Every Word**
* **To UPPERCASE**
* **To lowercase**
* **Switch Characters**
* **Go to Line…**
# File
> File
* **New Site…**\
Click this menu item to start creating a new site. See [Create a New Site](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/) for details.
* **New Tab**\
Click this menu item to create a new tab in the MAMP PRO editor. This menu item is only active when the editor is open and in the foreground.
* **Open Template**[]()\
MAMP PRO uses templates to create the necessary server configuration files. This gives you access to options that are not available from the MAMP PRO interface.
A template file is created in `~/Library/Application Support/appsolute/MAMP PRO/templates` when you make a change to one of your templates. There are separate templates for your Apache, Apache SSL, Nginx, PHP, and MySQL configurations. If you have not made any changes to your templates, your `~/Library/Application Support/appsolute/MAMP PRO/templates` directory will be empty.
Changes will be reflected in your actual configuration files after your servers are restarted.
Caution
Errors in the template files can cause servers to fail to start. Only edit these templates if you are familiar with the exact syntax and meaning of the options.
* **Apache (httpd.conf and httpd-ssl.conf)**\
Here you can edit the Apache web server configuration file templates. The configuration files created from these templates are located in the `/Library/Application Support/appsolute/MAMP PRO/conf` directory. You can check the contents of these files to see if your changes have been reflected.
* **Nginx (nginx.conf)**\
Open and edit your “nginx.conf” template file here. Changes made to your template file will be reflected in your actual “nginx.conf” file. The “nginx.conf” file is created from the template file and is located in `/Library/Application Support/appsolute/MAMP PRO/conf`.
* **PHP (php.ini)**\
Open and edit your php.ini template file here. There are probably several versions of PHP available, each with its own template file. Changes made to your template file will be reflected in your actual php.ini file. The php.ini file is generated from the template file and is located in `/Library/Application Support/appsolute/MAMP PRO/conf`.
* **MySQL (my.cnf)**\
Open and edit your “my.cnf” template file here. There are probably several versions of MySQL available, each with its own template file. Changes made to your template file will be reflected in your actual “my.cnf” file. The “my.cnf” file is generated from the template file and is located in `/Applications/MAMP/tmp/mysql/my.cnf`.
* **Redis (redis.conf)**\
Open and edit your redis.conf template file here. Changes made to your template file will be reflected in your actual redis.conf file. The redis.conf file is created from the template file and is located in `/Library/Application Support/appsolute/MAMP PRO/conf`.
* **Revert all Templates to Default…**\
Click on this menu item to reset all templates. Changed templates are saved on your desktop and open templates in the editor are closed without saving.
* **Close Window**\
Click this menu item to close the current window. If you have closed the main window this way, you can reopen it via the menu item “Window → MAMP PRO”.
* **Close Tab**\
Click this menu item to close the current tab in the MAMP PRO editor. If the currently open file is the last open file or if no file is open, the editor window is closed. This menu item is only active when the editor is open and in the foreground.
* **Save**\
Clicking this menu item saves your changes. This menu item is only active if there are unsaved changes.
* **Save as…**\
Click this menu item to save the currently open file under a different name. The menu item is active when a file is open in the editor and the editor is in the foreground, or when the Summary window is open. In the latter case, the Summary can be saved as an .rtf file.
* **Save a Copy…**\
Click this menu item to save a copy of the currently open file under a different name. This menu item is only active if a file is open in the editor and the editor is in the foreground.
* **Save All**\
Clicking on this menu item saves all files opened in the editor. This menu item is only active if at least one file is open in the editor and has been edited and the editor is in the foreground.
* **Revert to Saved**\
Click this menu item to undo unsaved changes. This menu item is only active if there are unsaved changes.
* **Revert All**\
Click this menu item to undo all unsaved changes. This menu item is only active if there are unsaved changes.
* **Reload Remote Files**\
Clicking this menu item reloads the file list of the remote server. This menu item is only active if a file is open in the editor and the editor is in the foreground.
* **Export Template…**\
This allows you to export the currently open template of a configuration file. This menu item is only active if you have opened a template of a configuration file and the corresponding editor window is in the foreground (selected).
* **Import Template…**\
This allows you to import the contents of a previously exported configuration file template. This menu item is only active if you have opened a template of a configuration file and the corresponding editor window is in the foreground (selected).
Note that using a configuration file template from a different MAMP PRO version can cause problems. In some cases, servers and services may fail to start.
* **Backup…**\
Clicking this menu item displays the [Create Backup](/en/MAMP-PRO-Mac/Sites/Backup/#create) dialog. This menu item is active only when no servers or services are running.
* **Restore…**\
Clicking this menu item displays the [Restore Backup](/en/MAMP-PRO-Mac/Sites/Backup/#restore) dialog. This menu item is active only when no servers or services are running.
# Help
> Help
* **Search**\
Enter a search term and all menu items will be searched for that term.

* **Account Page**\
Click on this menu item to open the account page in your default browser. There you will find an overview of your serial numbers.
* **Documentation**\
Clicking this menu item opens the documentation for MAMP PRO.
* **Collect Support Information…**\
Clicking this menu item collects information about your MAMP PRO installation and saves it to a file (Summary\_DATE-TIME.rtf) on your Desktop. If MAMP PRO has crashed before and one or more Crashlog files have been created, then an additional file Crashes\_DATE-TIME.zip will be created.
* **Record Support Video…**\
Click this menu item to open QuickTime and set up a new recording selection over the MAMP PRO main window. The first time this menu item is used, a dialog box appears informing you that macOS may ask whether MAMP PRO is allowed to send commands to QuickTime (new recording, setting the selection).

* **What’s new in this version?**\
Clicking this menu item shows a window with the new features of the current main version.
* **Release Notes**\
Clicking this menu item opens the release notes in your default browser.
* **Show License Agreement**\
Clicking this menu item opens the License Agreement.
* **Acknowledgments**\
Clicking this menu item opens the Acknowledgments file.
* **Website**\
Clicking this menu item opens the MAMP PRO website in your default browser.
* **WebStore**\
Clicking this menu item opens the store in your default browser.
* **Follow us…**\
Clicking this menu item will open the URL in your default browser.
* **Support**\
Clicking this menu item opens the support page in your default browser.
* **Bugbase**\
Click this menu item to open the bugbase. If you find a bug in the software, you can report it there and we will fix it as soon as possible. You can also submit suggestions or feature requests there.
* **Send a feature request…**\
Click this menu item to open a dialog with a form for sending us an improvement idea or feature request.

# Log
> Log
* **Apache**\
Clicking this menu item opens the Apache log file.
* **Nginx**\
Clicking this menu item opens the Nginx log file.
* **MySQL**\
Clicking this menu item opens the MySQL log file.
* **PHP**\
Clicking this menu item opens the PHP log file.
* **Dynamic DNS Service**\
Clicking this menu item opens the Dynamic DNS log file.
* **Redis**\
Clicking this menu item opens the Redis log file.
* **Memcached**\
Clicking this menu item opens the Memcached log file.
* **MailHog**\
Clicking this menu item opens the MailHog log file.
* **Cloud**\
Clicking this menu item opens the Cloud log file.
* **Transcript from ‘Save’**
# MAMP PRO
> MAMP PRO
* About MAMP PRO…
Opens a dialog box showing the version number and your serial number.
* * Register MAMP PRO…
* Registration…
- (Only visible if MAMP PRO is not yet registered.) Opens a dialog box where you can enter your email address and license number to register your installation.

- (Only visible if MAMP PRO is already registered.) Opens a dialog box showing your registration data.
* Settings…
Opens the [Settings](/en/MAMP-PRO-Mac/Settings/).
* Check for Updates…
Checks for updated versions of the MAMP PRO application and its components.
* Uninstall MAMP PRO…
Opens the [Uninstall MAMP PRO](/en/MAMP-PRO-Mac/How-to/Uninstall-MAMP-PRO/) dialog.
* Quit MAMP PRO
Exits MAMP PRO. Whether the servers are also stopped depends on what you have selected in [Settings › General](/en/MAMP-PRO-Mac/Settings/General/).
# Site
> Site
* **Create Snapshot…**\
Creates a snapshot of the selected site. See [Snapshots](/en/MAMP-PRO-Mac/Sites/Snapshots/) for details.
* **Restore Snapshot…**\
Restores a snapshot of the selected site. See [Snapshots](/en/MAMP-PRO-Mac/Sites/Snapshots/) for details.
* **Show Snapshots in Finder**\
Displays the default snapshots directory of the selected site in Finder.
***
* **Save to Cloud**\
Zips the data (files, folders, databases) of the selected site and uploads it to the cloud. If encryption is enabled in [Settings › Cloud](/en/MAMP-PRO-Mac/Settings/Cloud/), the ZIP file will be encrypted (`.encryptedzip` extension). Upload time depends on file size.
* **Load from Cloud**\
Downloads the cloud ZIP file for the selected site and unpacks it. Encrypted data is decrypted during unpacking. The local site data is replaced by the cloud data.
Caution
This process cannot be undone. Make sure you have a recent backup before loading from the cloud.
* **Delete from Cloud**\
Deletes all cloud data for the selected site. The data will be lost on all computers using it. Local data remains unchanged. Recovery is only possible via your cloud provider’s versioning feature.
* **Resolve name change**\
If you rename a site that is synced via the cloud, the ZIP file in the cloud is renamed accordingly. On the second Mac, you will be notified of the change and can choose to rename the local site to match the cloud, or rename the cloud file to match the local site.
***
* **Publish…**\
Uploads the site data (files, directories, database) to the remote host. See [Transfer › Hosting](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/) for setup details. Only active if the site has remote access credentials configured.
* **Import…**\
Downloads the site data (files, directories, database) from the remote host. See [Transfer › Hosting](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/) for setup details. Only active if the site has remote access credentials configured.
* **Duplicate…**\
Opens a wizard to create a duplicate of the selected site.
***
* **WordPress**
* **Get remote WordPress out of Maintenance Mode**\
Exits maintenance mode on the WordPress installation of the remote server. Only active if the site has remote access credentials configured.
* **Turn ON/OFF Debug mode**\
Enables or disables WordPress debug mode for the current site. Only available if a WordPress installation is detected on the site. See the [WordPress debugging documentation](https://wordpress.org/support/article/debugging-in-wordpress/) for details.
* **Flush Cache**\
Flushes the WordPress cache of the selected site.
* **Composer**
* **Add Package…**\
Opens the [Add Package](/en/MAMP-PRO-Mac/Composer/Add-Package/) dialog for the selected site.
* **Remove Package(s)…**\
Opens the [Remove Packages](/en/MAMP-PRO-Mac/Composer/Remove-Packages/) dialog for the selected site.
* **Update Package(s)…**\
Opens the [Update Packages](/en/MAMP-PRO-Mac/Composer/Update-Packages/) dialog for the selected site.
* **Show Package Info…**\
Opens the [Show Package Info](/en/MAMP-PRO-Mac/Composer/Show-Package-Info/) dialog for the selected site.
* **Show outdated Packages**\
Opens the [Show outdated Packages](/en/MAMP-PRO-Mac/Composer/Show-outdated-Packages/) dialog for the selected site.
* **Git**
***
* **Optimize Image Sizes…**\
Opens a dialog to optimize image file sizes for the selected site. The file formats to include can be configured in [Settings › Images](/en/MAMP-PRO-Mac/Settings/Images/).
* **Edit Permissions…**\
Opens the [Edit Permissions](/en/MAMP-PRO-Mac/Edit-Permissions/) dialog for the selected site.

# Tools
> Tools
* **Start servers** / **Stop servers**\
Clicking this menu item starts or stops the servers.
* **WebStart**\
Clicking this menu item opens the [WebStart](/en/MAMP-PRO-Mac/WebStart/) page in your default browser. This menu item is active only when a web server is running.
* **Reset Server Settings…**\
Clicking this menu item will reset the general settings (Ports & Users, Editor, Servers & Services, Languages) to the default settings. Site settings and MAMP PRO preferences are not included in this reset.
* **Apache**
* **Restart**\
This option allows you to restart the Apache web server individually. This menu item is only active when the Apache web server is running.
* **Force Quit**\
If Apache is running but MAMP PRO is unable to detect the correct status, the application may not be able to (re)start or stop the server instances. Calling this function will help MAMP PRO regain control of Apache.
* **Show httpd.conf…** / **Show httpd-ssl.conf…**\
This option displays the Apache configuration file (httpd(-ssl).conf) currently used for http(s) connections by the running server instances. It is displayed in read-only mode. To make changes, edit the template. These menu items are only active when the Apache web server is running.
* **Info…** Clicking this menu item opens your default browser and displays a page with lots of information about the instance of the Apache web server you are running. This menu item is only active when the Apache web server is running.
* **Status…**\
Clicking this menu item opens your default browser and displays a page with status information about the instance of the Apache web server you are running. This menu item is only active when the Apache web server is running.
* **Check Configuration**\
Click this menu item to check the Apache configuration files. If an error is found during the check, a dialog box is displayed with details of the error found.
* **Reset Apache Modules…**\
Clicking this menu item resets the selection of [Apache modules](/en/MAMP-PRO-Mac/Settings/Server/Apache/) to the default.
* **Nginx**
* **Restart**\
This option allows you to restart the Nginx web server individually. This menu item is only active when the Nginx web server is running.
* **Force Quit**\
If Nginx is running but MAMP PRO is unable to detect the correct status, the application may not be able to (re)start or stop the server instances. Calling this function will help MAMP PRO regain control of Nginx.
* **Show nginx.conf…**\
This option displays the Nginx configuration file (nginx.conf) currently used by the running server instances. It is displayed in read-only mode. To make changes, edit the template. This menu item is only active when the Nginx web server is running.
* **Status…**\
Clicking this menu item opens your default browser and displays a page with status information about the instance of the Nginx web server you are running. This menu item is only active when the Nginx web server is running.
* **Check Configuration**\
Click this menu item to check the Nginx configuration files. If an error is found during the check, a dialog box is displayed with details of the error found.
* **Reset Modules…**\
Clicking this menu item resets the selection of [Nginx modules](/en/MAMP-PRO-Mac/Settings/Server/Nginx/) to the default state.
* **MySQL**
* **Open phpMyAdmin…**\
phpMyAdmin is a web-based administration tool written in PHP. It allows you to modify data and perform administrative tasks such as creating new databases. MAMP PRO includes two versions of phpMyAdmin to support the different versions of PHP. The dynamic selection of the phpMyAdmin version is based on the PHP version set on the “localhost” site.
The source files for these instances of phpMyAdmin can be found in `/Library/Application Support/appsolute/MAMP PRO/phpMyAdmin` and `/Library/Application Support/appsolute/MAMP PRO/phpMyAdmin5`. Additional MySQL users can be created using the User Accounts tab.
* **Open Adminer…**\
Adminer is a web-based administration tool written in PHP. It allows you to modify data and perform administrative tasks such as creating new databases.
The source files for these instances of Adminer can be found in `/Applications/MAMP/bin/adminer`.
* **Open Sequel Ace…**\
Sequel Ace (previously Sequel Pro) is a native Mac application. It allows you to create and visualise database schemas in addition to administrative duties. More information on how to [connect to MySQL using Sequel Ace](/en/MAMP-PRO-Mac/How-to/MySQL/How-do-I-connect-to-MySQL-with-Sequel-Ace/) can be found in our How-to section.
* **Open MySQL Workbench…**\
MySQL Workbench is a native Mac application from the makers of MySQL. It allows you to visually create database schemas in addition to administrative duties.
* **Restart**\
This option allows you to restart the MySQL database server individually. This menu item is only active when the MySQL database server is running.
* **Force Quit**\
If MySQL is running but MAMP PRO is unable to detect the correct status, the application may not be able to (re)start or stop the server instances. Calling this function will help MAMP PRO regain control of MySQL. This menu item is only active when the MySQL database server is not running.
* **Show my.cnf…**\
Clicking this menu item opens the MySQL configuration file (my.cnf) currently used by the running server instances. It is displayed read-only. If you want to make changes, you must edit the template. This menu item is only active when the MySQL database server is running.
* **Check Databases…**\
Clicking this menu item opens the dialog box for checking MySQL databases. This function checks the database tables for errors and whether an upgrade is required. This menu item is active only if the MySQL server is running. For more information on this topic, refer to the [MySQL manual](https://dev.mysql.com/doc/refman/8.0/en/check-table.html).

* **Repair Databases…**\
Clicking this menu item opens the dialog box for repairing MySQL databases. This menu item is active only if the MySQL server is running. For more information on this topic, refer to the [MySQL manual](https://dev.mysql.com/doc/refman/8.0/en/repair-table.html).

* **Upgrade Databases…**\
Clicking this menu item opens the dialog box for upgrading MySQL databases. This menu item is active only if the MySQL 5.7 server is running. For more information on this topic, refer to the [MySQL manual](https://dev.mysql.com/doc/refman/8.0/en/mysql-upgrade.html).

* **Dump MySQL Databases…**\
Clicking this menu item opens the Dump MySQL Databases dialog. This function dumps the contents of all databases to a file on your Desktop, which can be used to transfer the data to other MySQL versions, servers or computers. This menu item is active only when the MySQL server is running.

* **Copy all Databases from v5.7 to v8.0…**\
Click this menu item to start the wizard, which guides you through transferring all your MySQL 5.7 databases to MySQL 8.0. This menu item is only active if the MySQL 5.7 server is running.
* **Copy selected Databases from v5.7 to v8.0…**\
Click this menu item to start the wizard, which guides you through transferring your selected MySQL 5.7 databases to MySQL 8.0. This menu item is only active if the MySQL 5.7 server is running.
* **Show Databases Files in Finder…**\
Click this menu item to reveal the folder in Finder where the MySQL 5.7 and MySQL 8.0 database files are stored.
* **Change Password of MySQL VERSION user “root”…**\
The “root” user is the administrator of your MySQL database server. The default password for this user is “root”. Clicking this menu item opens a dialog for changing the password. This menu item is active only when the MySQL database server is not running.

* **New Password**\
Enter a new password here.
* **Verify**\
Re-enter your password here for verification.
* **Cancel**\
Clicking this button will cancel the action and close the dialog.
* **Change**\
Click this button to change the password. This button is active only after successful verification.
* **Status…**\
Clicking this menu item checks the status of the MySQL database server and displays the result in a dialog box.

* **Dynamic DNS**
* **Force Quit**\
If Dynamic DNS is running but MAMP PRO is unable to determine the correct status, the application may be unable to (re)start or stop the server instances. Calling this function will help MAMP PRO regain control of Dynamic DNS. This menu item is only active when the Dynamic DNS is not running.
* **Redis**
* **Restart**\
This option allows you to restart Redis individually. This menu item is only active when Redis is running.
* **Force Quit**\
If Redis is running but MAMP PRO is not able to detect the correct status, the application may not be able to (re)start or stop the server instances. Calling this function will help MAMP PRO regain control of Redis. This menu item is only active when Redis is not running.
* **Show redis.conf**\
This option displays the Redis configuration file (redis.conf) currently used by the running server instances. It is displayed in read-only mode. To make changes, edit the template.
* **Start interactive Session…**\
Clicking this menu item will open the Redis server’s command line interface in the Terminal application on macOS. When this happens for the first time, a dialog box from macOS informs you that MAMP PRO wants to use the Terminal application and asks if you agree. This menu item is only active when Redis is running.

* **Flush Cache…**\
Click this menu item to clear the cache. This menu item is only active when Redis is running.
* **Statistics…**\
Clicking this menu item will display live statistics. This menu item is only active when Redis is running.

* **Memcached**
* **Restart**\
This option allows you to restart Memcached individually. This menu item is only active when Memcached is running.
* **Force Quit**\
If Memcached is running but MAMP PRO is unable to detect the correct status, the application may not be able to (re)start or stop the server instances. Calling this function will help MAMP PRO regain control of Memcached. This menu item is only active when Memcached is not running.
* **Flush Cache**\
Click this menu item to clear the cache. This menu item is only active when Memcached is running.
* **Statistics…**\
Clicking this menu item will display statistics. This menu item is only active when Memcached is running.

* **MailHog**
* **Restart**\
This option allows you to restart MailHog individually. This menu item is only active when MailHog is running.
* **Force Quit**\
If MailHog is running but MAMP PRO is unable to detect the correct status, the application may not be able to start or stop the server instances. Calling this function will help MAMP PRO regain control of MailHog. This menu item is only active when MailHog is not running.
* **Show mailhog-smtp.json**\
This option displays the MailHog configuration file (mailhog-smtp.json). It is displayed in read-only mode. This option is only active if the configuration file exists in the directory `/Library/Application Support/appsolute/MAMP PRO/conf/`. More information about the configuration file can be found here:
* **Open GUI…**\
Click this menu item to open the MailHog GUI. Here you can view, delete, download emails, and more.

* **Send a Test Email**\
Clicking this menu item will send a test email and open the MailHog web interface (GUI) in your default browser.

* **PHP**
* **Open MacGDBp…**\
Click this menu item to open the MacGDBp debugger. This menu item is only enabled if Xdebug is active and MacGDBp is installed. Further information can be found in our How-to guide [Using the MacGDBp Debugger](/en/MAMP-PRO-Mac/How-to/PHP/Using-the-MacGDBp-Debugger/).
* **Python**
* **Install/upgrade Python Packages…**\
Click this menu item to open a dialog where you can install or update Python packages from the Python Package Index (PyPI). You can specify the name, version, and location for the installation.

* **pip Cache Commands…**\
Click this menu item to open a dialog where you can inspect and manage pip’s wheel cache.

The following commands are available:
* **pip cache info**: Displays information about the cache.
* **pip cache list**: Lists the file names of the packages stored in the cache.
* **pip cache purge**: Removes all entries from the cache.
* **pip cache dir**: Displays the cache directory.
* **Save List of installed Packages…**\
Click this menu item to open a dialog where you can save a list of installed Python packages in requirements format.

* **Restore Packages from List…**\
Click this menu item to open a dialog where you can install Python packages from a requirements file.
* **Set new Virtual Environment of selected Site…**\
Click this menu item to create a virtual environment and assign it to the site.
You can define the name (corresponding to the directory name) and specify whether installed third-party packages (site-packages) should be included. If these options are not visible, click the “Options” button to show them.

* **Unset Virtual Environment of selected Site…**\
Click this menu item to reset the selection of the “Virtual Env Path”. The virtual environment itself remains unchanged.
* **The Python Packages Index (PyPI)…**\
Clicking this menu item opens the website “The Python Package Index (PyPI)” () in your default browser.
* **WordPress**
* **Update Root CA certificates of all WordPress sites**\
Click this menu item to update the root certification authority certificates for all your WordPress sites in MAMP PRO.
* **Update wp-cli in MAMP Folder**\
Click this menu item to update the WordPress command-line interface. See [wp-cli.org](https://wp-cli.org) for more information.
If the update was successful, the message “wp-cli has been updated to the latest stable version.” is displayed.
* **SFTP**
* **Generate Key Pair from Scratch…**\
Click this menu item to open a dialog where you can create an SSH key pair.

* **Generate Private Key from Clipboard…**\
Click this menu item to open a dialog with an input field where you can paste a private key and save it as a .privateKey file.
* **Get Public Key from Private Key…**\
Click this menu item to open a dialog where you can extract the public key from a private key.

* **Servers & Fingerprints…**\
Clicking this menu item opens the dialog box with the saved fingerprints of the SFTP connections you are using (see [Hosting](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/)).

* **Show /etc/hosts File…**\
Click this menu item to open the `/etc/hosts` file.
* **Update SSL Certificates for all Sites**\
Click this menu item to renew expired or soon-to-expire SSL certificates for all sites.
* **Update Root CA Certificates**\
Clicking this menu item updates the root certification authority certificates.
* **Clear DNS Cache**\
Click this menu item to clear the macOS DNS cache. This is useful when a server has changed its IP address and the update has not yet propagated to the macOS DNS cache.
# View
> View
* **Previous Tab**\
Click this menu item to switch to the previous tab of the Editor window.
* **Next Tab**\
Click this menu item to switch to the next tab of the Editor window.
* **Hide Files & Folders** / **Show Files & Folders**\
Click this menu item to show or hide the sidebar of the Editor window.
* **Show RealView** / **Hide RealView**\
Click this menu item to show or hide the RealView of the Editor window.
# Window
> Window
* **Minimize**\
Clicking this menu item places the currently active window in the Dock. This menu item is only active if one of the following windows is open and actively in the foreground:
* Main Window
* Editor
* Overview
* Summary
* **Zoom**\
Clicking this menu item enlarges the currently active window to the maximum size.
* **Move Window to Left Side of Screen**\
Click this menu item to move the current window to the left-hand side of the screen. It then occupies half the screen width and the full screen height.
* **Move Window to Right Side of Screen**\
Click this menu item to move the current window to the right-hand side of the screen. It then occupies half the screen width and the full screen height.
* **MAMP PRO**\
Click this menu item to display the main window.
* **Overview**\
Click this menu item to display the Overview.

* **Editor**\
Click on this menu item to display the Editor.
* **Assets**\
Click this menu item to display the Assets window. Your Assets folder is located in `~/MAMP PRO/assets`.

* **Scrap Pad**\
Click on this menu item to show the Scrap Pad.

* **Summary**\
Click on this menu item to show the Summary. You can save the Summary as an .rtf file via the File → Save As… menu.

* **Cloud Overview**\
Clicking this menu item displays a window with the name of the currently selected cloud provider and the cloud activities currently being performed.
* **Server Status**\
Click on this menu item to display a window with the servers and services. The icons of the servers and services that are currently running are highlighted (blue).
* **Bring All to Front**\
Click this menu item to show all open windows.
# Settings
> Configure MAMP PRO's server environment, programming languages, editor, cloud, and image optimization settings.
[General ](/en/MAMP-PRO-Mac/Settings/General/)Configure general MAMP PRO preferences.
[Server ](/en/MAMP-PRO-Mac/Settings/Server/)Configure web server, MySQL, DNS, and additional services.
[Languages ](/en/MAMP-PRO-Mac/Settings/Languages/)Configure PHP and Python settings for your sites.
[Sites ](/en/MAMP-PRO-Mac/Settings/Sites/)Configure global site settings.
[Editor ](/en/MAMP-PRO-Mac/Settings/Editor/)Customize the built-in text editor's appearance, fonts, and default apps.
[Images ](/en/MAMP-PRO-Mac/Settings/Images/)Select image formats for site image optimization.
[Cloud ](/en/MAMP-PRO-Mac/Settings/Cloud/)Configure your cloud provider to sync site data.
# Cloud
> Cloud
MAMP PRO allows you to transfer the data (files, folders, [mapped databases](/en/MAMP-PRO-Mac/Sites/Site/Databases/)) of your sites to the cloud. All you need is an account with one of the supported cloud providers. There is no need to install any additional software.
The data is not automatically synchronized with the cloud whenever a change is made. Instead, you manually start the synchronization and decide which state of your site should be saved to the cloud. Use either the options of the [Cloud tab](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Cloud/) of the respective site or the corresponding options of the context menu of the [Sites list](/en/MAMP-PRO-Mac/Sites/).

When data is being transferred from your local Mac to the Cloud or from the Cloud to your local Mac, the elephant icon in the menu bar turns green and you can see a status indicator in the “Current activity” area on the Cloud tab of the corresponding site.
* **Cloud Provider**\
Select one of the supported cloud providers. The following options are available:
* Dropbox
* Google Drive
* OneDrive
* File Transfer (S)FTP
After selecting a cloud provider, its website will open in your default browser and you will be asked to authorize MAMP PRO. This process is shown here as an example for Dropbox.
1. The first step is to log in to Dropbox.

2. In the second step, you are informed that MAMP PRO wants to access your Dropbox account. Access will only be granted to the “Apps/MAMP PRO” folder. Confirm this request by clicking the “Allow” button.

3. In the final step, the Dropbox website attempts to redirect you back to MAMP PRO. For security reasons, you will need to confirm this action in your browser. Confirming this message will take you back to MAMP PRO.

* **Use encryption**\
Use this feature to encrypt your data before it is transferred to your cloud provider. You can encrypt all data before it is transferred to the cloud using the Advanced Encryption Standard (AES) and an encryption key that you provide. The key is stored in the system’s keychain. You cannot set the encryption key while there is cloud activity.
When you set encryption, your files are stored in the cloud with an .encryptedzip extension. Previously saved sites will retain their .zip, unencrypted extension until they are uploaded to the cloud again.
* **Set global encryption key**\

* **Key**\
Enter the encryption key to be used for all sites and cloud services. This key must be a minimum of 16 characters and a maximum of 32 characters.
* **Verify**\
Re-enter your encryption key here for verification.
* **Cancel**\
Clicking this button will cancel the action and close the dialog.
* **Set**\
Click this button to set the encryption key. This button is only active if the specified encryption key meets the requirements and the verification is successful.
* **Prevent sleep during Cloud activity**\
When there is cloud activity, MAMP PRO can prevent your computer from going to sleep. After all cloud activity is finished, MAMP PRO will no longer block sleep.
***
* **Log file:**\
The path to your cloud log file.
* **Choose…**\
Here you can choose the directory and the file name. By default, this log file is located at `/Applications/MAMP/logs/cloud.log`.
# Editor
> Customize the built-in text editor's appearance, fonts, colors, and external application settings.
[Appearance ](/en/MAMP-PRO-Mac/Settings/Editor/Appearance/)Customize document editing settings such as indentation and line numbers.
[Font & Colors ](/en/MAMP-PRO-Mac/Settings/Editor/Font-and-Colors/)Set the font and color theme used by the editor.
[External Apps ](/en/MAMP-PRO-Mac/Settings/Editor/External-Apps/)Specify external applications for opening different file types.
# Appearance
> Appearance
Customize your document editing settings here.

* **Appearance:**
* Show invisible characters
* Show line numbers
* Show mini map
* Show folding strip
* Highlight lines containing folded areas
* Show indent guides
* Show page guide, at column
* Print in color
***
* **Editing:**
* Soft-wrap text
* never
* to window width
* to page guide
* to 80 characters
* Auto-close brackets
* always
* language-defined
* before Whitespace
* never
* Auto-close quotes
* always
* language-defined
* before Whitespace
* never
* Colorize bracket pairs
* Indent with spaces instead of tabs, use X spaces
* Trim automatically inserted whitespace
***
* **When comparing files:**
* Show differences side-by-side
* **Status bar:**
* Always show status bar
# External Apps
> External Apps
In this section, you can specify external applications to open different types of files.

* Image Application
* Movie Application
* PDF Application
***
## code-server
[Section titled “code-server”](#code-server)
[Code-server](https://github.com/coder/code-server) is an open source project by Coder that allows you to run Visual Studio Code (VS Code) in a web browser. It is essentially a remote version of VS Code that runs on a server and can be accessed through a browser.
* **Enable experimental code-server support**\
Enable this option to integrate basic support for code-server within MAMP PRO.
* **Code-server URL:**\
Enter the URL where your code-server instance is running. If a valid URL is provided, a code-server entry will appear in the **Open in** editor menu within a site’s **General** section.
Use this integration if you’re working remotely or prefer editing files via a browser-based development environment.
# Font & Colors
> Font & Colors
Here you can set the font and colors used by the editor.

MAMP PRO offers three themes:
* Standard
* Plain
* Dark
Of course, you can also choose your very own combinations.
# General
> General

* **Status & Access Options**
* **Show MAMP PRO in Menu Bar Extras**\
The elephant icon will appear in the menu bar. If MAMP PRO has the servers running, the elephant icon will be black, if the servers are not running, the elephant will be gray.
* **Show Server States instead of Elephant**\
If you check this box, instead of the elephant icon, the active servers are displayed in the menu bar. A black icon indicates the server is running, a gray icon indicates it is not running.
* **Show Status on Dock icon**\
If you check this box, a red dot will appear on the MAMP PRO icon in the Dock when the servers are running.
Note
This option is not available in all versions of macOS. If necessary, also check the macOS System Preferences under Notifications › MAMP PRO.
* **Keyboard shortcuts for MAMP PRO**\
Only the M key cannot be used as a shortcut key. The ^ key stands for the Ctrl key.
* **When starting MAMP PRO**
* **Launch Servers**\
Enable this option to start the servers and services when MAMP PRO launches.
* **Open WebStart Page**\
Enable this checkbox to open the [WebStart page](/en/MAMP-PRO-Mac/WebStart/) in your default browser when MAMP PRO launches.
* **Check for Updates**\
When MAMP PRO starts, it automatically checks for available updates so you never miss a new version. Click the **Check now** button to trigger the check manually at any time.
* **When quitting MAMP PRO**
* **Stop Servers**\
Enable this checkbox to stop the servers and services when MAMP PRO quits.
* **Server Log Files**
* **never delete or rotate**\
Enable this option to always write all entries to the same log file, regardless of its size or age.
* **delete before starting a server**\
Enable this option to delete the existing log file before starting the server or service.
* **rotate when larger than 10 MByte**\
Enable this option to create a new log file when the existing one reaches 10 MB.
* **rotate when older than 7 days**\
Enable this option to create a new log file when the existing one is at least 7 days old.
* **“Don’t Ask Again” Flags**\
Reset “Don’t ask again” alerts.
# Images
> Images
MAMP PRO offers the option to optimize images for the selected site via the “Site › Optimize Image Sizes…” menu. Here you can select which image formats are included.

# Languages
> Configure PHP and Python for your sites. Both languages are available in multiple versions.
[PHP ](/en/MAMP-PRO-Mac/Settings/Languages/PHP/)Select the PHP version and configure PHP settings for your sites.
[Python ](/en/MAMP-PRO-Mac/Settings/Languages/Python/)Select the Python version and configure Python settings for your sites.
# PHP
> PHP
PHP (Hypertext Preprocessor) is a widely used open-source scripting language that is particularly well-suited for web development and can be embedded in HTML. It is easy to learn and apply. One of the major advantages of PHP is its seamless integration with various database systems and services. MAMP PRO offers a wide range of different PHP versions to cater to the specific needs and requirements of developers, creating the optimal working environment. Additionally, MAMP PRO provides various cache modules to choose from and already integrates the most commonly used extensions. Error logging can also be configured granularly.

***
* **Default version**\
Here you define which PHP version is selected by default when creating a new site. You can [change this setting later](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/) for any site. If the corresponding checkbox is enabled, the selected PHP version is also used for the command line shortcut.
* **Plus**\
MAMP PRO already includes many PHP versions, but more can be added — older or newer. This lets you test your project across a wide range of PHP versions for maximum compatibility. Click the plus button to open a dialog listing available additional PHP versions. Click the “Install” button next to the desired version to add it to your environment. After installation, MAMP PRO must be restarted.

* **Minus**\
If you no longer need a specific PHP version or want to free up disk space, you can remove it. Select the PHP version you want to remove and click the minus button. To prevent accidental deletion, MAMP PRO will ask for confirmation before removing the selected version.

* **Open template…**\
The php.ini file is the central configuration file for PHP, defining the behavior of the PHP environment. It manages settings such as the maximum script execution time, memory limit, error handling, file upload size, and the activation of extensions. This lets you control which functions are available and how PHP operates on the server.
MAMP PRO also uses php.ini files, but these are based on special template files. These templates include default values and placeholders, which are replaced with the corresponding values when MAMP PRO starts. Each PHP version has its own template file to ensure maximum flexibility.
While many settings can be adjusted directly in the MAMP PRO interface, less common values can be changed by editing the template files. Be careful when doing so — incorrect entries or syntax errors may cause unexpected results, including servers and services failing to start.
* **Activate command line shortcuts for the selected PHP version**\
Using PHP via a command-line shortcut is useful because it provides a fast and efficient way to run PHP scripts directly from the terminal. This is especially helpful for developers who regularly work with PHP and want to run quick tests. The command line can also be used to automate tasks or debug scripts, with direct access to console output. [PHP extensions can also be installed via PECL](/en/MAMP-PRO-Mac/How-to/PHP/Install-a-PHP-extension-using-PECL/) using the command line. MAMP PRO uses aliases to provide this functionality. When this option is enabled, the following is added to your ’\~/.profile’ file, allowing for quick access through the command line.
```plaintext
alias php='/Applications/MAMP/bin/php/phpx.x.x/bin/php -c "/Library/Application Support/appsolute/MAMP PRO/conf/phpx.x.x.ini"'alias php-config='/Applications/MAMP/bin/php/phpx.x.x/bin/php-config'alias phpdbg='/Applications/MAMP/bin/php/phpx.x.x/bin/phpdbg'alias phpize='/Applications/MAMP/bin/php/phpx.x.x/bin/phpize'alias pear='/Applications/MAMP/bin/php/phpx.x.x/bin/pear'alias peardev='/Applications/MAMP/bin/php/phpx.x.x/bin/peardev'alias pecl='/Applications/MAMP/bin/php/phpx.x.x/bin/pecl'
```
If you want to check whether the default PHP version set in MAMP PRO is accessible via the command line shortcut, you can do so using the following command: `php -v`

Note
MAMP PRO also adds the path to the `bin` folder of the currently selected PHP version to the `$PATH` variable in your `~/.profile` file. Since this file will be sourced by the `bash` and `zsh` shells, do not make changes to `$PATH` in other configuration files of these shells.
```plaintext
export PATH="/Applications/MAMP/bin/php/phpx.x.x/bin"
```
* **Also activate shortcut for Composer**\
Composer is a dependency manager for PHP that helps you manage libraries and packages for your projects. It simplifies the installation, updating, and management of PHP dependencies using a central configuration file (composer.json). A command-line shortcut for Composer is useful because it gives quick, easy access to Composer commands without having to specify the full path each time. This saves time and improves your workflow, especially for frequent package installations or updates. MAMP PRO already includes Composer, so you can use it directly. When this option is enabled, the following is added to your ’\~/.profile’ file, making the Composer shortcut available on the command line:
```plaintext
alias composer='/Applications/MAMP/bin/php/composer'
```
***
* **Cache module:**\
A cache module in PHP improves performance by storing frequently used data or pre-compiled PHP scripts in memory, eliminating the need to process them on every request. This significantly reduces server load and shortens the load times of web applications. MAMP PRO offers two options: APC (Alternative PHP Cache) and OPCache. Both modules store precompiled PHP scripts in memory, but they differ in functionality and use cases. APC is an older module that, in addition to opcode caching, also allows caching of arbitrary data such as intermediate results or objects, which is particularly useful for complex applications. OPCache, on the other hand, focuses solely on caching PHP bytecode, making it more stable, faster, and officially bundled with PHP. OPCache is the preferred choice, especially for modern PHP versions, as it provides better integration and performance. APC can still be useful in specific cases where a custom data cache is required in addition to opcode caching.
Some caches provide a user interface for analyzing and profiling your code. Click the arrow button next to the cache name to access it. The interface is not available if the arrow button is disabled.
* **off**\
Select this option if you do not want to use any PHP cache module. Disabling caching can be useful in development environments where you need to ensure that every change to your PHP scripts is immediately applied without the risk of outdated cached versions being served. It allows for easier debugging and testing, as the code is executed fresh on each request. However, keep in mind that this may lead to slower performance compared to using a cache module, especially in production environments.
* **APC**\
The Alternative PHP Cache (APC) is a free and open-source opcode cache for PHP that improves performance by caching compiled PHP code in memory, reducing the need for repeated compilation. In addition to opcode caching, APC provides a user cache, allowing developers to store custom data such as variables or objects for faster access. This makes APC particularly useful for applications that require caching not only PHP scripts but also application-specific data. While APC is less commonly used in modern environments due to the introduction of OPCache, it remains a solid choice when you need both opcode caching and shared user caching functionality. See the [APC documentation](https://www.php.net/manual/en/book.apcu.php) for more information.
* **OPCache**\
OPcache improves PHP performance by caching precompiled script bytecode in shared memory, which removes the need for PHP to load, parse, and compile scripts on every request. This results in faster execution times, reduced CPU usage, and an overall more efficient use of server resources. As it is bundled with PHP and actively maintained, OPcache is the default and most widely recommended opcode caching solution for modern PHP versions. It is particularly beneficial in production environments, where performance and scalability are critical, as it helps reduce response times and supports a higher number of concurrent requests. Unlike APC, OPcache is focused solely on opcode caching and does not include a user cache for custom data storage, which makes it simpler, more stable, and optimized for maximum script execution speed. For most use cases, especially with current PHP versions, OPcache is the preferred choice for achieving consistent high performance and stability. See the [OPcache documentation](https://www.php.net/manual/en/book.opcache.php) for more information.
***
* **Extensions:**
The ‘Extensions’ setting lets you enable or disable PHP extensions to customize PHP’s functionality. **Xdebug** is a debugging tool that makes it easier to troubleshoot and provides detailed insights into your code. **Imagick** (**ImageMagick**) enables image processing and manipulation directly in PHP, supporting numerous image formats. **Tidy** helps analyze and clean up HTML code to produce clean, standards-compliant markup. OAuth is an extension for secure authentication and authorization via external services and is commonly used for connecting to third-party APIs.
* **Xdebug (Debugger)**\
Activate Xdebug to enable debugging and profiling capabilities in PHP. Xdebug provides detailed information about the execution of your PHP scripts, helping you identify errors, track the flow of execution, and inspect variables in real time. It is commonly used to improve the development and debugging process by integrating with IDEs and debuggers, such as MacGDBp, for step-by-step code analysis. By default, Xdebug listens on localhost and port `9000` as specified in the php.ini file. For more detailed instructions on using Xdebug with the MacGDBp Debugger, you can refer to our [How-to guide](/en/MAMP-PRO-Mac/How-to/PHP/Using-the-MacGDBp-Debugger/).
* **Imagick / ImageMagick**\
If you activate this checkbox, Imagick (the PHP extension) and ImageMagick (the underlying software) will be available. Imagick provides a powerful set of tools for creating, editing, and converting images in various formats directly within PHP. It allows you to manipulate images by resizing, cropping, applying filters, and performing other image transformations. ImageMagick is the underlying image processing library that supports a wide range of image formats and operations. Enabling this extension adds advanced image manipulation capabilities to your PHP-based applications. For more information, you can refer to the official documentation for [Imagick](https://www.php.net/manual/en/book.imagick.php) and [ImageMagick](https://imagemagick.org/).
* **Tidy**\
If you activate this checkbox, Tidy will be available. Tidy is a PHP extension that helps clean up and format HTML code, ensuring it is well-structured and adheres to web standards. It can automatically correct syntax errors, remove redundant tags, and improve the overall readability and consistency of HTML documents. Tidy is particularly useful for working with legacy HTML or content that is prone to formatting issues. Enabling this extension ensures your HTML is clean, error-free, and properly formatted. For more details, you can refer to the official documentation for [Tidy](https://www.php.net/manual/en/book.tidy.php).
* **OAuth**\
If you activate this checkbox, OAuth will be available. OAuth is an open standard for authorization that allows secure, token-based authentication between a client and a server. It enables users to grant third-party applications limited access to their resources without sharing their login credentials. This is commonly used for integrating external services, such as social media logins or API access, into your applications. Enabling this extension lets you implement OAuth-based authentication and authorization in your PHP applications, providing a secure and standardized way for users to authenticate. For more details, you can refer to the official documentation for [Oauth](https://www.php.net/manual/en/book.oauth.php).
* **Enable other extensions…**\
Clicking this button opens the internal template file used for the php.ini configuration in an editor window, allowing you to manage additional PHP extensions. This feature enables you to customize your PHP environment by activating or configuring other extensions not listed in the default MAMP PRO interface. By modifying the template file, you gain more flexibility and control over your PHP setup. See [Menu › File](/en/MAMP-PRO-Mac/Menu/File/) for more information about the template file.
***
* **Log:**\
Here you define which types of messages to report and where to write them.
For information about PHP error handling, refer to the PHP documentation in the “[error\_reporting](https://www.php.net/manual/en/function.error-reporting.php)” section. Please note: The `E_ALL` option includes more than just `E_ERROR`, `E_WARNING` and `E_NOTICE` (see “[Predefined Constants](https://www.php.net/manual/en/errorfunc.constants.php)”).
* **Initialization errors**\
Log any errors that occur when Apache loads the PHP module.
* **All messages (E\_ALL)**\
If you activate this checkbox, all messages will be reported. This option corresponds to the `E_ALL` setting.
* **Errors (E\_ERROR)**\
If you activate this checkbox, all errors will be reported. This option corresponds to the `E_ERROR` setting.
* **Warnings (E\_WARNING)**\
If you activate this checkbox, all warnings will be reported. This option corresponds to the `E_WARNING` setting.
* **Notices (E\_NOTICE)**\
If you activate this checkbox, all notices will be reported. This option corresponds to the `E_NOTICE` setting.
* **Other**\
Report additional error types using constants.
* **to screen**\
Activate this checkbox if you want the messages to appear on your website.
* **to file**\
Activate this checkbox if you want the messages to be written to a file.
* **Choose…**\
Here, you can choose the directory and file name. By default, the message is written to the file “/Applications/MAMP PRO/logs/php\_error.log”.
## Additional Information
[Section titled “Additional Information”](#additional-information)
* [PHP (official website)](https://www.php.net/)
# Python
> Python
Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. MAMP PRO installs Python in your `/Applications/MAMP/Library/bin/python` directory. MAMP PRO does not make any changes to the Python build that is pre-installed on your Mac. The Python build provided by Apple is installed in `/usr/bin/python`.

***
* **Default version**\
When creating a new site, its Python version is set to the selected version.
* **Plus**\
Click this button to open a dialog listing additional Python versions. Click the “Install” button next to the required version to add it to your environment. Afterwards, MAMP PRO must be restarted.

* **Minus**\
Click this button to remove the selected Python version from your environment. You will be asked to confirm before it is deleted.

* **Activate command line shortcuts for the selected Python version**\
Enable this option to make the current Python version available on the command line. MAMP PRO uses an alias to provide this. When this option is enabled, the following is added to your `~/.profile` file. If a “.zprofile” file exists, the “.profile” content will be added to it.
```plaintext
alias python='/Applications/MAMP/Library/bin/python'
```
Confirm your Python is enabled by typing `python -V` in a new Terminal window.

***
* **Default App index.py File**
* **Edit**\
Click this button to open an editor window where you can edit the default Python file that is created for a site when Python is enabled.
* **Directive `` in httpd.conf**
* **Default App configuration**
* **Edit**\
Click this button to open an editor window where you can edit the default Python/wsgi configuration for the Apache web server. In this window, there is a “Supported Placeholders” button at the bottom left. Click it to display the supported placeholders.
Supported placeholders are:
* `MAMP_PythonAppName_MAMP`
* `MAMP_PythonProcessGroup_MAMP`
* `MAMP_PythonAppAlias_MAMP`
* `MAMP_PythonIndexPyPath_MAMP`
* `MAMP_VirtualHost_DocumentRoot_MAMP`
* `MAMP_VirtualHost_IP_MAMP`
* `MAMP_VirtualHost_Port_MAMP`
## Additional Information
[Section titled “Additional Information”](#additional-information)
* [Python (official website)](https://www.python.org/)
# Server
> Configure web server, MySQL, DNS, and additional services such as Redis, Memcached, and MailHog.
[Ports ](/en/MAMP-PRO-Mac/Settings/Server/Ports/)Configure the ports used by Apache, Nginx, and MySQL.
[Apache ](/en/MAMP-PRO-Mac/Settings/Server/Apache/)Configure the Apache web server and its modules.
[Nginx ](/en/MAMP-PRO-Mac/Settings/Server/Nginx/)Configure the Nginx web server.
[MySQL ](/en/MAMP-PRO-Mac/Settings/Server/MySQL/)Configure the MySQL database server.
[Dynamic DNS ](/en/MAMP-PRO-Mac/Settings/Server/Dynamic-DNS/)Make your sites accessible from the internet via a Dynamic DNS service.
[Redis ](/en/MAMP-PRO-Mac/Settings/Server/Redis/)Configure the Redis in-memory data store.
[Memcached ](/en/MAMP-PRO-Mac/Settings/Server/Memcached/)Configure the Memcached in-memory key-value store.
[MailHog ](/en/MAMP-PRO-Mac/Settings/Server/MailHog/)Capture and inspect outgoing emails during development.
# Apache
> Apache
The Apache HTTP Server is one of the most widely used web servers in the world. To provide you with an optimal development environment that closely matches the requirements of most providers, MAMP PRO also includes this web server.

In the upper-right corner of this screen, you can see the version of the Apache web server in use, as well as the ports assigned to the HTTP and HTTPS protocols.
In addition to the general settings on this screen, you can also configure more specific options for each site ([Web server › Apache tab](/en/MAMP-PRO-Mac/Sites/Site/Web-Server/Apache/)).
* **Apache Modules**\
The Apache web server installed by MAMP PRO comes with many modules pre-installed. You can enable or disable these modules based on your needs. The module description provides information about the features and functions of the selected module.
Note
Make sure that when you enable a module, you also enable all dependent modules or avoid selecting conflicting modules.
* **Log file:**\
The path to your Apache log file.
* **Choose…**\
Here, you can choose the directory and file name. By default, the log file is located at `/Applications/MAMP/logs/apache_error.log`.
# Dynamic DNS
> Dynamic DNS
If you want to make your sites accessible from the internet (remember security!), but do not have a domain name pointing to your Mac, you will need a Dynamic DNS service.
If your network is connected to the internet through a router that can handle Dynamic DNS services, you don’t need to configure it with MAMP PRO.
Otherwise, you will need to register with a Dynamic DNS service and enter the username and password in the appropriate fields. Then you need to tell MAMP PRO when to notify the Dynamic DNS provider of a change in your Mac’s IP address. This may be necessary when you reboot your computer or when your DSL/cable modem reconnects.
Note
To use the Dynamic DNS features, you must register with one of the supported providers. This is independent of MAMP PRO and is not a service provided by MAMP GmbH.

* **Use Dynamic DNS service**\
Select this check box if you want the Dynamic DNS service to start and stop automatically when the Start/Stop button in the toolbar is clicked.
***
* **Account data for service**\
Select the tab for your Dynamic DNS service provider if you have an account with [DNS-O-Matic](https://dnsomatic.com), [No-IP](https://www.noip.com), [dyn.com](https://dyn.com) or [easydns.com](https://easydns.com). For all other dynamic DNS service providers, select the Generic tab. The following information is required for each provider.
* **User name**\
Enter the username you received from your Dynamic DNS service provider.
* **Password**\
Enter the password provided by your Dynamic DNS service provider.
* **Update URL** (Generic only)\
Enter the update URL provided by your Dynamic DNS service provider.
A generic DNS service can be used as long as the update server is configured to handle the update URL as follows:
* The following URL should be placed in the “Update URL” field, and nothing more: “http:someservice.com/some/path”.
* MAMP PRO will add the following parameters at the end of the URL “?hostname={your hostname}\&myip={ipaddress}\&wildcard=NOCHG\&mx=NOCHG\&backmx=NOCHG”. MAMP PRO will replace the placeholders in the curly brackets with the required information.
***
* **Log file:**\
The path to your Dynamic DNS log file.
* **Choose…**\
Here you can choose the directory and the file name. By default, this log file is located at `/Applications/MAMP/logs/ddns.log`.
# MailHog
> MailHog
MailHog is an open source (MIT license) email testing tool for developers. It allows you to test the sending of emails using, for example, the PHP `mail()` function. If you have MailHog enabled, then all emails sent this way will automatically end up in MailHog and you can use the MailHog web interface to check if the email was sent correctly.

When MailHog is started, you will see in the upper right corner of the screen which ports are being used for SMTP and the web interface (GUI).
* **Use MailHog server**\
Check this box if you want MailHog to start and stop automatically when the Start/Stop button in the toolbar is clicked.
* **Log file:**\
The path to your MailHog log file.
* **Choose…**\
Here you can choose the directory and the file name. By default, this log file is located at `/Applications/MAMP/logs/mailhog.log`.
## Additional Information
[Section titled “Additional Information”](#additional-information)
* [MailHog (official website)](https://github.com/mailhog/MailHog)
# Memcached
> Memcached
Memcached is an in-memory key-value store for small chunks of arbitrary data. The Memcached and igbinary PHP extensions are added to your PHP configuration when Memcached is enabled in your server settings.

When the Memcached server is enabled, the following section appears in phpInfo (WebStart › Tools → phpInfo in the MAMP PRO interface), showing the available configuration options.

In the upper right corner of this screen you will find information about the version of the Memcached server and the port used.
* **Use Memcached server**\
Select this checkbox if you want the Memcached server to start and stop automatically when the Start/Stop button in the toolbar is clicked. The Memcached PHP extension is automatically included when this option is enabled.
* **Allow network access to Memcached**\
Select this checkbox if you want to access the Memcached server over the network. Otherwise, you will not be able to access your Memcached server over the network, even from other locally installed programs. If this checkbox is enabled, the Memcached server will not be accessible via socket.
* **Maximum memory usage:**\
Here you can set the size of the maximum available memory.
* **Log level:**\
Select how much information should be written to the Memcached log. The following options are available:
| Name | Content |
| ----------------- | ------------------------------------------------------------------ |
| Verbose | errors, warnings |
| Very Verbose | errors, warnings, client commands, responses |
| Extremely Verbose | errors, warnings, client commands, responses, internal transitions |
* **Log file:**\
The path to your Memcached log file.
* **Choose…**\
Here you can choose the directory and the file name. By default, this log file is located at `/Applications/MAMP/logs/memcached_error.log`.
## Examples
[Section titled “Examples”](#examples)
The following examples show how to connect to the Memcached server using PHP — either through a UNIX socket or over the network. In each example, a value (“MAMP PRO”) is stored in the cache and then retrieved.
## PHP (Connect using a UNIX socket)
[Section titled “PHP (Connect using a UNIX socket)”](#php-connect-using-a-unix-socket)
```php
addServer('/Applications/MAMP/tmp/memcached.sock', 0);
$version = $memcached->getVersion(); echo ''; print_r($version); echo '
';
$memcached->set('Key1', 'MAMP PRO'); $result = $memcached->get('Key1'); echo $result;
?>
```
## PHP (Connect via network)
[Section titled “PHP (Connect via network)”](#php-connect-via-network)
```php
addServer('127.0.0.1', 11211);
$version = $memcached->getVersion(); echo ''; print_r($version); echo '
';
$memcached->set('Key1', 'MAMP PRO'); $result = $memcached->get('Key1'); echo $result;
?>
```
## Additional information
[Section titled “Additional information”](#additional-information)
* [Memcached (official website)](https://memcached.org/)
* [Memcached PHP extension reference](https://www.php.net/manual/en/book.memcached.php)
# MySQL
> MySQL
The MySQL database server is offered by most providers worldwide. To provide you with an optimal development environment that closely matches the requirements of most providers, MAMP PRO also includes this database server.

In the upper-right corner of this screen you will find information about which port is used.
Your MAMP PRO MySQL database data is located in:
* `~/Library/Application Support/appsolute/MAMP PRO/db/mysql57`
* `~/Library/Application Support/appsolute/MAMP PRO/db/mysql80`
***
* **Use MySQL server**\
Enable this checkbox if you want the MySQL database server to start and stop automatically when the Start/Stop button in the toolbar is clicked.
***
* **Version:**\
MAMP PRO provides MySQL 5.x.x and MySQL 8.x.x so that you can test your applications with both versions. Only one of the two database servers can run at a time. Here you can select which MySQL server you want to use.
* **Copy databases from v5.7 to v8.0…**\
Clicking this button starts a wizard that guides you through transferring your data from MySQL 5.x.x to MySQL 8.x.x. This button is only active if MySQL 5.x.x. is selected and the MySQL server is running. In addition, there must be no unsaved changes in MAMP PRO.
* **Activate command line shortcuts**\
Enable this option to make the current MySQL version available on the command line. MAMP PRO uses aliases to provide this functionality. When this option is checked the following is added to your `~/.profile` file.
If MySQL 5.x.x is selected:
```plaintext
alias mysql='/Applications/MAMP/Library/bin/mysql57/bin/mysql'alias mysqladmin='/Applications/MAMP/Library/bin/mysql57/bin/mysqladmin'alias mysqldump='/Applications/MAMP/Library/bin/mysql57/bin/mysqldump'alias mysqlimport='/Applications/MAMP/Library/bin/mysql57/bin/mysqlimport'alias mysqlcheck='/Applications/MAMP/Library/bin/mysql57/bin/mysqlcheck'
```
If MySQL 8.x.x is selected:
```plaintext
alias mysql='/Applications/MAMP/Library/bin/mysql80/bin/mysql'alias mysqladmin='/Applications/MAMP/Library/bin/mysql80/bin/mysqladmin'alias mysqldump='/Applications/MAMP/Library/bin/mysql80/bin/mysqldump'alias mysqlimport='/Applications/MAMP/Library/bin/mysql80/bin/mysqlimport'alias mysqlcheck='/Applications/MAMP/Library/bin/mysql80/bin/mysqlcheck'alias mysqlsh='/Applications/MAMP/Library/bin/mysql80/bin/mysqlsh'
```
***
* **Allow network access to MySQL**\
If you enable this option, you can connect to MySQL via IP address (127.0.0.1) and port (for example 8889 or 3306).
* **only from this Mac**\
Only applications installed on this Mac can access MySQL over the network.
* **from other computers**\
See the “Network” panel (System Settings) to find the “IP Address” of the Mac running MAMP PRO.

* **Log file:**\
The path to your MySQL log file.
* **Choose…**\
Here you can choose the directory and the file name. By default, this log file is located at `/Applications/MAMP/logs/mysql_error.log`.
# Nginx
> Nginx
The Nginx web server has been gaining popularity in recent years. To provide you with an optimal development environment that closely matches the requirements of most providers, MAMP PRO also includes this web server.

In the upper-right corner of this screen, you can see the version of the Nginx web server in use, as well as the ports assigned to the HTTP and HTTPS protocols.
In addition to the general settings on this screen, you can also configure more specific options for each site ([Web server › Nginx tab](/en/MAMP-PRO-Mac/Sites/Site/Web-Server/Nginx/)).
* **Nginx modules**\
The Nginx web server installed by MAMP PRO comes with many modules pre-installed. You can enable or disable these modules based on your needs. The module description provides information about the features and functions of the selected module.
Note
Make sure that when you enable a module, you also enable all dependent modules or avoid selecting conflicting modules.
* **Log file:**\
The path to your Nginx log file.
* **Choose…**\
Here, you can choose the directory and file name. By default, the log file is located at `/Applications/MAMP/logs/nginx_error.log`.
# Ports
> Ports

Server programs, when addressed over the network, must be assigned to a specific network port. This allows multiple server programs to run on a single server machine. Each service has a default port: The Apache web server typically uses port 80, and the MySQL database server uses port 3306.
These ports are configurable. The default configuration for MAMP PRO uses ports 8888, 8889, and 8890. This allows the MAMP servers to run alongside other servers installed on your Mac. If ports 8888, 8889 or 8890 are being used by another application, please change the values accordingly.
* **Port / Port (SSL)**\
Here you can set the ports for connections to Apache and Nginx web servers via http and https (SSL). You also specify the ports for connections to the MySQL database server, Memcached and Redis.
***
* **Set ports to:**
* **Default MAMP ports**\
This button sets the ports to values that minimize or eliminate overlap with other running servers.
* Apache: 8888 / 8890
* Nginx: 7888 / 7890
* MySQL: 8889
* Memcached: 11211
* Redis: 6379
* **80, 81, 443, 7443, 3306, 11211 & 6379**\
This button sets the ports to the values commonly used on the Internet.
* Apache: 80 / 443
* Nginx: 81 / 7443
* MySQL: 3306
* Memcached: 11211
* Redis: 6379
Tip
For background on what ports are and why MAMP PRO uses non-standard ports by default, see [Explanation › Ports](/en/MAMP-PRO-Mac/Explanation/Ports/).
* **Having trouble with blocked ports?**
* **Auto-detect free ports**\
This button helps you find available ports on your Mac.
If MAMP PRO reports that another process is running on your Apache/Nginx port, you can test this from the command line. In a Terminal, type the following: `sudo lsof -i :80 # checks port 80` and press “Return”. If the port is open, nothing should be returned.
# Redis
> Redis
Redis is an open-source (BSD licensed) in-memory data structure store used as a database, cache, and message broker.

In the upper right corner of this screen you will find information about the version of the Redis server and the port in use.
* **Use Redis server**\
Check this box if you want the Redis server to start and stop automatically when the Start/Stop button in the toolbar is clicked. The Redis PHP extension is automatically included when this option is enabled.
* **Allow network access to Redis**\
With this option enabled, both local and network clients can connect to Redis. Otherwise, only local clients can connect (using the Unix socket `/Applications/MAMP/tmp/redis.sock`).
* **only from this Mac**\
Only applications installed on this Mac can access Redis via network features.
* **from other computers**\
Redis will answer any network request, even from computers on the Internet, depending on your network settings.
* **Maximum speed**
* **Disable database compression and checksum**\
Your data is kept in memory by the Redis server. The data is backed up automatically from time to time or manually to a file on disk. By default, the data is compressed and a CRC64 checksum is generated (for higher data integrity). If you enable the checkbox, the data is not compressed and the checksum is set to 0. When importing such a file, the content is not checked in combination with the checksum.
* **Log level:**
Select how much information should be written to the Redis log. The following options are available:
| Name | Description |
| ------- | ------------------------------------------------------------ |
| Warning | only very important/critical messages are logged |
| Notice | moderately verbose, what you want in production probably |
| Verbose | many rarely useful info, but not a mess like the debug level |
| Debug | a lot of information, useful for development/testing |
* **Log file:**\
The path to your Redis log file.
* **Choose…**\
Here you can choose the directory and the file name. By default, this log file is located at `/Applications/MAMP/logs/redis_error.log`.
## PHP Examples
[Section titled “PHP Examples”](#php-examples)
## Connect using a UNIX socket (recommended)
[Section titled “Connect using a UNIX socket (recommended)”](#connect-using-a-unix-socket-recommended)
```php
// Connecting to Redis server on localhost$redis = new Redis();
$redis->connect('/Applications/MAMP/tmp/redis.sock');
// Check whether server is running or notecho 'Redis is running: ' . $redis->ping() . '
';
// Set the value of a key$key = 'product';$redis->set($key, 'MAMP PRO');
// Get the value of a keyecho 'Key "' . $key . '" has the value "' . $redis->get($key) . '"' . '
';
// Store data in redis list$redis->lPush('list', 'MAMP PRO');$redis->lPush('list', 'Apache');$redis->lPush('list', 'MySQL');$redis->lPush('list', 'Redis');
// Get the list data$list = $redis->lRange('list', 0, 3);echo '
';echo 'Stored list:';echo '';print_r($list);echo '
';
// Clean upif ($redis->exists([$key, 'list']) === 2) { $redis->del($key); $redis->del('list');}
```
## Connect via network
[Section titled “Connect via network”](#connect-via-network)
```php
// Connecting to Redis server on localhost$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
// Check whether server is running or notecho 'Redis is running: ' . $redis->ping() . '
';
// Set the value of a key$key = 'product';$redis->set($key, 'MAMP PRO');
// Get the value of a keyecho 'Key "' . $key . '" has the value "' . $redis->get($key) . '"' . '
';
// Store data in redis list$redis->lPush('list', 'MAMP PRO');$redis->lPush('list', 'Apache');$redis->lPush('list', 'MySQL');$redis->lPush('list', 'Redis');
// Get the list data$list = $redis->lRange('list', 0, 3);echo '
';echo 'Stored list:';echo '';print_r($list);echo '
';
// Clean upif ($redis->exists([$key, 'list']) === 2) { $redis->del($key); $redis->del('list');}
```
## Additional information
[Section titled “Additional information”](#additional-information)
* [Redis (official website)](https://redis.io)
* [phpredis extension](https://github.com/phpredis/phpredis)
# Sites
> Sites

* **Save Sites in:**\
Here you specify the default directory for the “Site folder” of a site. A good choice is, for example, `/Users/USERNAME/Sites/`.
* **Arrow button**\
Clicking on this button opens a Finder window with the selected directory.
* **Choose…**\
Clicking this button opens a dialog where you can select the desired directory.
***
* **Snapshots:**
* **Never ask for snapshot names**\
Check this box if you do not want MAMP PRO to prompt you for a name when creating a snapshot. When MAMP PRO automatically creates a snapshot in the background, it will never ask for a name.
* **Do not create snapshots automatically**\
When this option is set, no snapshots are taken when loading a site from the cloud or importing a remote site. With this option enabled, it’s not possible to undo these operations.
# Sites
> Manage your MAMP PRO sites – create, configure, back up, and transfer sites using virtual hosts.
[Sites List ](/en/MAMP-PRO-Mac/Sites/Sites-List/)View and manage all your sites – reorder, group, and delete sites.
[Site ](/en/MAMP-PRO-Mac/Sites/Site/)Configure each site's settings: General, Web Server, SSL, Databases, and Transfer.
[Create a new site ](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/)Create sites from scratch or using WordPress, Laravel, Blueprints, Cloud, and more.
[Backup ](/en/MAMP-PRO-Mac/Sites/Backup/)Back up and restore data for all sites at once.
[Snapshots ](/en/MAMP-PRO-Mac/Sites/Snapshots/)Create and restore point-in-time snapshots of a site's files and databases.
# Backup
> How to back up and restore all MAMP PRO site data – files and databases – using the built-in backup feature.
MAMP PRO gives you the ability to quickly and easily back up the data of all sites (files & databases) using the backup feature. Backups are not tied to a specific installation of MAMP PRO. This means that you can share backups with other users of MAMP PRO.
## Create Backup
[Section titled “Create Backup”](#create-backup)
1. Select “Backup…” from the File menu. This menu item is only active when no servers or services are running.
2. The “Backup” window opens.

3. Select the content you want to back up.
4. Click the Backup button.
5. The dialog for specifying the file name and location of the backup file is displayed. You can leave the suggested name/location or enter your own.

6. Click the Save button.
7. When the backup is complete, the message “Backup done.” is displayed.

8. Click the “Close” button.
## Restore Backup
[Section titled “Restore Backup”](#restore-backup)
1. Select “Restore…” from the File menu. This menu item is only active when no servers or services are running.
2. The “Restore” window opens.

3. Select which backup file to use and what to restore from the backup.
4. Click the “Restore” button.
5. A message will be displayed asking you to confirm the restore. Please read it carefully before clicking the “OK” button to continue.

6. When the backup restore is complete, the message “Restore done.” appears.

7. Click the “Close” button.
# Create a new site
> How to create a new site in MAMP PRO – choose from Empty, Custom, WordPress, Laravel, Cloud, Import, or Blueprint site types.
Note
Unlike MAMP, the free version, MAMP PRO allows you to create many sites (hosts). We recommend creating a separate site for each website you build with MAMP PRO. Do not create multiple document roots under the localhost document root folder.
To create a new site, press the ”+” button in the lower left corner of the Sites table, or click the **New Site** button in the toolbar at the top of the app window.

The first time you click the ”+” button, you will see a message saying that the SSL environment must be set up first. Confirm this dialog box by clicking the “OK” button. You may then need to enter your macOS account password.

## Types of sites
[Section titled “Types of sites”](#types-of-sites)

* **General**
* **[Empty](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/Empty/)**\
An “Empty” site has a simple dummy page preinstalled (file “index.php”).
* **[Custom](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/Custom/)**\
”Custom” allows you to have a database and/or files added to the new site.
* **[Cloud](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/Cloud/)**\
Automatically import the data from the cloud after the site is created.
* **[Import](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/Import/)**\
Use this site type to automatically import a remote site.
* **Apps**
* **[WordPress](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/WordPress/)**\
A “WordPress” site has WordPress preinstalled.
* **[Laravel](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/Laravel/)**\
This creates a site with the web application framework Laravel pre-installed.
* **[Blueprint](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/Blueprint/)**\
A “Blueprint” site is a clone of a site in the “Blueprint” group.
# Create a new Blueprint site
> How to create a new site from a Blueprint in MAMP PRO – clone an existing Blueprint site including files and database.
A Blueprint site is a clone of a site in the Blueprint group. This allows you to prepare a specific type of site and then use it as a template for other sites, as many times as you like.

1. Click the ”+” button at the bottom of the sites list, and then select the “Blueprint” site type in the following dialog box.
Note
This site type is only active if there is at least one site in the “Blueprints” group.

2. Confirm your selection by clicking on the “Continue” button.
3. Select the Blueprint site you want to clone. All available Blueprint sites are listed in the “Blueprint” select box.

4. Enter the name of your new site. For this example we will choose the name “site-2”.

5. For “Site folder”, first create a new directory named “site-2” and then select it.
Note
Do not create a site folder under your `/Applications/MAMP` folder. A better location for your site folders would be `~/Sites/`. This will keep your site data separate from the MAMP PRO application data.

6. If the selected Blueprint site contains a linked database, the name of the previous database (followed by a sequential number) is entered automatically in the “Database” field. You can change the default database name.

7. Confirm your selection by clicking on the “Create Site” button. All files, directories, and the database are copied to the new site. This may take a few seconds.
8. The settings for your new site are saved automatically, and the servers and services are restarted if necessary.
9. To open your new site in your default browser, click on the “Open” button to the right of the site name field.

# Create a new Cloud site
> How to create a new site in MAMP PRO from cloud data – import files and database from your connected cloud provider.
The following requirements must be met before you can use this site type:
* You must have selected and authorized a cloud provider in Settings › Cloud.
* The cloud provider must store data from a site that is not currently assigned to any other site.
* The site name for the site data must not already be used by an existing site.
Note
If you have selected MySQL 5.7 in the settings, you cannot use site data from the cloud that was created with MySQL 8.
1. Click the ”+” button at the bottom of the sites list, and then select the “Cloud” site type in the following dialog box.

2. Confirm your selection by clicking on the “Continue” button.
3. Select the site data from your cloud provider that you want to add to the new site. All available site data is listed in the “Import from” drop-down list.

4. For “Site folder”, first create a new directory named “my-site” and then select it.
Note
Do not create a site folder under your `/Applications/MAMP` folder. A better location for your site folders would be `~/Sites/`. This will keep your site data separate from the MAMP PRO application data.

5. Confirm your selection by clicking on the “Create Site” button. All data will now be downloaded from your cloud provider and added to your new site. This may take several seconds.
6. The settings for your new site are saved automatically, and the servers and services are restarted if necessary.
7. To open your new site in your default browser, click on the “Open” button to the right of the site name field.

# Create a new custom site
> How to create a custom site in MAMP PRO – optionally add a database and copy files from a template folder.
Choose this site type if your project requires a database, if you want to copy files from a template directory, or both.
1. Click the ”+” button below the list of sites and select the site type “Custom”.

2. Confirm your selection by clicking on the “Continue” button.
3. Enter the name of your new site. In this example we choose the name “my-site”.
4. For “Site folder”, first create a new directory named “my-site” and then select it.
Note
Do not create a site folder under your `/Applications/MAMP` folder. A better location for your site folders would be `~/Sites/`. This will keep your site data separate from the MAMP PRO application data.
5. If you want a database to be added automatically when the new site is created, select the “Add a database” checkbox. The new database will be immediately linked with the new site.

6. If you want certain files and directories to be copied to the site folder when the new site is created, select the “Copy a template folder” checkbox. You can select the appropriate template folder in the next steps. Please note that if you select this option, MAMP PRO will not automatically create an index.php file. Only the content of the template folder will be used.

7. Confirm your selection by clicking on the “Continue” button.
8. Enter a name for the new database. You can also create a new database user who will have access to the new database. This is optional.

9. Confirm your selection by clicking on the “Continue” button.
10. Select the directory whose contents will be copied to the site folder of the new site. Please note that MAMP PRO will not automatically create an index.php file. Only the content of the template folder will be used.

11. Confirm your selection by clicking on the “Create Site” button.
12. The settings for your new site are saved automatically, and the servers and services are restarted if necessary.
13. To open your new site in your default browser, click on the “Open” button to the right of the site name field.

# Create a new empty site
> How to create a new empty site in MAMP PRO – start with a simple placeholder page and build from scratch.
Select this site type if you want to start your project from scratch.
1. Click the ”+” button at the bottom of the sites list, and then select the “Empty” site type in the following dialog box.

2. Confirm your selection by clicking on the “Continue” button.
3. Enter the name of your new site. In this example we choose the name “my-site”.
4. For “Site folder”, first create a new directory named “my-site” and then select it.
Note
Do not create a site folder under your `/Applications/MAMP` folder. A better location for your site folders would be `~/Sites/`. This will keep your site data separate from the MAMP PRO application data.

5. Confirm your selection by clicking on the “Create Site” button.
6. The settings for your new site are saved automatically, and the servers and services are restarted if necessary.
7. To open your new site in your default browser, click on the “Open” button to the right of the site name field.

8. Your new site will now look like the following screenshot.

# Create a new Import site
> How to create a new site in MAMP PRO by importing a remote site – files and database from a live hosting provider.
Use this site type to automatically import a remote site. For example, if you have a WordPress installation running at a hosting provider and want to import it when setting up the new site.
1. Click the ”+” button at the bottom of the sites list, and then select the “Import” site type in the following dialog box.

2. Confirm your selection by clicking on the “Continue” button.
3. Enter the name of the new site. In this example we choose the name “my-site”.

4. For “Site folder”, first create a new directory named “my-site” and then select it.
Note
Do not create a site folder under your `/Applications/MAMP` folder. A better location for your site folders would be `~/Sites/`. This will keep your site data separate from the MAMP PRO application data.

5. Confirm your selection by clicking on the “Continue” button.
6. The next screen shows what information is required for the following steps.

7. Click on “Continue” to proceed to the next step.
8. Enter the public URL. You can verify it by clicking the arrow button to the right of the input field.

9. Confirm your entries by clicking on the “Continue” button.
10. Enter the FTP data.

11. Confirm your entries by clicking on the “Continue” button.
12. Specify the document root on your remote server. If you are not sure, MAMP PRO can try to find it automatically — click on the “Auto-Detect…” button. You can also select the directory manually by clicking “Choose…”.

13. Confirm by clicking the “Continue” button.
14. Enter the database credentials for your remote server. If there is a WordPress installation on the server and you want to import it, MAMP PRO can detect the required information automatically — click the “Auto-Detect” button. If you do not want to import any database, leave the fields empty.

15. Confirm your selection by clicking on the “Create Site” button.
16. All data will now be downloaded from your remote host and added to your new local site. This may take several seconds.
17. The settings for your new site are saved automatically, and the servers and services are restarted if necessary.
18. To open your new site in your default browser, click on the “Open” button to the right of the site name field.

# Create a new Laravel site
> How to create a new Laravel site in MAMP PRO – installs the latest Laravel version with MySQL or SQLite database.
MAMP PRO provides an easy way to set up the latest version of Laravel when creating a new site.
1. Click the ”+” button at the bottom of the sites list and select “Laravel” as the site type in the following dialog.

2. Confirm your selection by clicking the “Continue” button.
3. Enter the name of your Laravel site. In this example, we choose the name “my-site”.
4. As “Site folder”, first create a new directory named “my-site” and then select it.
Note
Do not create your site folder inside the `/Applications/MAMP` directory. A better location for your site folders would be `~/Sites/`. This helps keep your site data separate from the MAMP PRO application files.
5. Confirm your selection by clicking the “Continue” button.
6. On the “Laravel Database settings” screen, select the type of database you want to use:
* **MySQL** — Enter the database name. Optionally, select an existing MySQL user or create a new one with a password.
* **SQLite** — No additional information is required. MAMP PRO will automatically create and configure an SQLite database file for your Laravel project.
7. Click the “Create Site” button to create your new site, including Laravel. This may take a few seconds, so please be patient.

8. The settings for your new site are saved automatically, and the servers and services are restarted if necessary.
9. To open your new site in your default browser, click the “Open” button to the right of the site name field.

10. Your new Laravel site will now look like this:

# Create a new WordPress site
> How to create a new WordPress site in MAMP PRO – installs the latest WordPress version with a database in a few steps.
MAMP PRO provides an easy way to set up a fresh WordPress installation when creating a new site.
Note
MAMP PRO always installs the latest final WordPress version offered as an Extra. If a beta or release candidate is also available, it can only be installed as an Extra on an existing site.
1. Click the ”+” button at the bottom of the sites list and select the site type “WordPress” in the following dialog.

2. Confirm your selection by clicking on the “Continue” button.
3. Enter the name of your WordPress site. In this example we choose the name “my-blog”.
4. For “Site folder”, first create a new directory named “my-blog” and then select it.
Note
Do not create a site folder under your `/Applications/MAMP` folder. A better location for your site folders would be `~/Sites/`. This will keep your site data separate from the MAMP PRO application data.
5. Confirm your selection by clicking on the “Continue” button.
6. Enter the WordPress-specific settings.
1. Enter the desired credentials (“Admin name”, “Admin password”) for WordPress. You must also enter your e-mail address.
2. The database information is already filled in and you can leave it as it is.

7. Click the “Create Site” button to create your new site, including WordPress. This may take a few seconds, so please be patient.

8. The settings for your new site are saved automatically, and the servers and services are restarted if necessary.
9. To open your new site in your default browser, click on the “Open” button to the right of the site name field.

10. Your new WordPress site will now look like the screenshot below.

# Site
> Per-site settings in MAMP PRO – General, Web Server, Python, SSL, Databases, and Transfer.
MAMP PRO uses virtual hosts to allow your web server to serve different websites. You can add an unlimited number of sites, creating one per project. Each site has its own directory for storing HTML, PHP files, and images, called the “Document root”.
The name of a site must be unique. It’s often convenient to use a reverse domain naming scheme to easily identify it (e.g. use info.mamp.development instead of development.mamp.info). The unreversed name may conflict with an external domain name.
[General ](/en/MAMP-PRO-Mac/Sites/Site/General/)Site name, PHP version, web server selection, site folder, document root, and Extras.
[Web Server ](/en/MAMP-PRO-Mac/Sites/Site/Web-Server/)Additional Apache or Nginx configuration for the selected web server.
[Python ](/en/MAMP-PRO-Mac/Sites/Site/Python/)Configure Python for the site, including virtual environment and WSGI settings.
[SSL ](/en/MAMP-PRO-Mac/Sites/Site/SSL/)Set up SSL for the site, including self-signed certificates.
[Databases ](/en/MAMP-PRO-Mac/Sites/Site/Databases/)Assign and manage databases linked to the site.
[Transfer ](/en/MAMP-PRO-Mac/Sites/Site/Transfer/)Transfer site data to a remote hosting provider or to MAMP Cloud.
# Databases
> Databases

The Database tab shows which databases are associated with each site. You can assign individual databases or tables to a site. Disabled checkboxes indicate databases and tables that are associated with a site via an extra or automatic WordPress installation. This association cannot be broken.
The mapping of a database to a site is used by the [Transfer › Hosting](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/) and [Transfer › Cloud](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Cloud/) features. This mapping tells MAMP PRO which site is associated with which database(s).
## Create Database
[Section titled “Create Database”](#create-database)
To create a new database, click the ”+” button at the bottom of the databases table. You can only create databases here, not individual tables. To manage tables, use a database administration tool such as phpMyAdmin. You can access phpMyAdmin via the “Open in” button in the header of the database table.

* **Name**\
Enter the name of the new database.
* **After creating the new database…**
* **grant access to User**\
If this box is unchecked (default), the new database will be created by the MySQL “root” user, which will also be granted all privileges for it. When you grant access, you have the choice of using an existing user or creating a new user.
The newly created MySQL user has all privileges only for the newly created database. It has no privileges for any other database.
* **with Password**\
If you choose to create a new MySQL user, you will need a password for this new MySQL user. If an existing MySQL user is selected, the “with Password” field is disabled and the existing password of this MySQL user is automatically used.
## Copy database from MySQL 5.7 to MySQL 8.0
[Section titled “Copy database from MySQL 5.7 to MySQL 8.0”](#copy-database-from-mysql-57-to-mysql-80)
1. Select version 5.7 in [Settings › Server › MySQL](/en/MAMP-PRO-Mac/Settings/Server/MySQL/).
2. Select the value “MySQL 5.7” for a site on the “Databases” tab in the “This site maps databases to” field.
3. Save the changes you have made.
4. Right-click on the desired database and select the option “Copy database ‘DATABASE NAME’ to MySQL 8.0…”.
5. A wizard will start to guide you through the copying process.
To copy all databases, click the “Copy databases from v5.7 to v8.0…” button in [Settings › Server › MySQL](/en/MAMP-PRO-Mac/Settings/Server/MySQL/).
# General
> General site settings in MAMP PRO – Basic configuration and Advanced options.
[Basic ](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/)Site name, PHP version, web server selection, site folder, document root, and Extras.
[Advanced ](/en/MAMP-PRO-Mac/Sites/Site/General/Advanced/)Advanced configuration options for the site.
# Advanced
> Advanced

* **Port Number**\
Specify the port on which the site will be accessible. Valid values range from 2 to 65535. In most cases, you will not need to change the default value. Global port settings are configured in [Settings › Server › Ports](/en/MAMP-PRO-Mac/Settings/Server/Ports/).
* **Dynamic DNS**\
Specifies whether this site is accessible from the internet via the [Dynamic DNS service](/en/MAMP-PRO-Mac/Settings/Server/Dynamic-DNS/).
To select a value from this drop-down list, enable the “Use Dynamic DNS service” option in the “Server” section of the settings and enter your account information for one of the services offered.
* **Aliases**\
Aliases are additional names for your site. The same restrictions apply to these additional names as to the site name itself. Use the plus button to add aliases.
Note
Using an alias for a WordPress site is not recommended because WordPress stores the original site name in its database and uses it to generate all links.
# Basic
> Basic site settings in MAMP PRO – site name, PHP version, web server, site folder, document root, and Extras.

[]()[]()
* **Name**\
The site name must be unique within MAMP PRO. A reverse domain naming scheme is often practical for easy identification (e.g. use info.mamp.development instead of development.mamp.info). The unreversed name may conflict with an outside domain name. The site name may only contain letters and/or numbers, as well as dashes (”-”); but it may not begin or end with a ”-” character. Names are not case-sensitive. The name of a site can be up to 254 characters long.
To open your site in your default browser, click on the “Open” button to the right of the site name field. This button is only active when the servers are running. The “Open in” button allows you to open the site’s website in a specific browser.
[]()
* **PHP version**\
Select which PHP version to use for this site.
If you select the default PHP version, MAMP PRO will automatically update this setting if you choose a new default version in the settings. Select a fixed version to prevent MAMP PRO from changing the PHP version automatically.
An example: The default version is 8.3.1. You have set “site-1” to PHP version “Default (8.3.1)”, “site-2” to “7.4.27” and “site-3” to “7.1.33”. If you set the default PHP version to “7.0.33” in the [PHP settings](/en/MAMP-PRO-Mac/Settings/Languages/PHP/), the PHP version of site “site-1” is automatically changed to this version. The other two sites will not be changed.
[]()
To view the configuration of the currently selected PHP version, click the arrow button to the right of the select box.
* **Web Server**\
For each site you can select which web server — Apache or Nginx — should be used to serve your website.
**Special case: the “localhost” site**
In the case of the “localhost” site, both radio buttons (Apache and Nginx) are enabled but locked (non-editable). This is because the Apache web server must always be running for “localhost” to provide certain administrative tools (such as phpMyAdmin). Nginx becomes available for “localhost” only if at least one other site exists in which Nginx has been selected as the web server. In that scenario, the content of the “localhost” site may also be served via Nginx — on the port defined for Nginx.
***
* **Site folder**\
The site folder is the directory in which all your files (.html, .php, .py, …) and directories belonging to the selected site are located.
If you have content that belongs to the site but should not be publicly accessible, store it in the site folder and define a subfolder as the “Document root”. This way, you can store your own PHP classes or frameworks in a better-protected location while still using them conveniently.
You can change the permissions of the selected site folder using the [permissions panel](/en/MAMP-PRO-Mac/Edit-Permissions/). This can be accessed via the menu “Site -> Edit Permission…”.

Caution
Do not use the folder `/Applications/MAMP` or any subfolder in this directory. Instead, use a subfolder in your `~/Sites/` directory. This will keep your content separate from the application data of MAMP and MAMP PRO.
Caution
Do not use an alias (symbolic link) as your site folder that points to the `/Applications/MAMP/htdocs` folder.
* **Document root**\
The “Document root” is the directory that is publicly accessible via the browser. You have the following options for this:
* **same as site folder**\
If you select this option, the “site folder” and “document root” are identical and therefore the content in the “site folder” can be accessed by the browser.
* **subfolder**\
However, you can also specify a direct subfolder (of the site folder you have selected) as the “Document root”. Only the content in this directory will be accessible to the browser.
[]()
* **Extras**\
With MAMP PRO Extras you can install a content management system in just a few clicks. Press the “Add…” button to install an Extras package.
Note
We may add or remove extras from time to time.

MAMP PRO provides the following Extras:
* [WordPress](Extras/WordPress/)
* [Drupal](Extras/Drupal/)
* [Joomla](Extras/Joomla/)
* [MediaWiki](Extras/MediaWiki/)
* [phpBB](Extras/phpBB/)
* [webEdition](Extras/webEdition/)
If a listed extra cannot be installed, it is marked with a red arrow. Click this symbol for information on why installation is not currently possible.

***
* **Show in “MAMP Viewer” (iOS)**\
[]()Allows your site to be viewed in the MAMP Viewer. You can only enable this option if your host name ends in “.local”. If this is not the case and you activate this checkbox, you will be asked whether the name of your host should be changed accordingly.

* **Show in NAMO**\
For a site to resolve to [NAMO](https://www.mamp.info/namo/en/), it must be marked as a NAMO site in MAMP PRO.
***
* **AI support**\
Grant an AI application access to this site so that you can have it edit code, query databases, or run WP-CLI commands directly — without copying or uploading content manually. Currently, only Claude for Desktop by Anthropic is supported.
* **Grant AI apps access to site’s files…**\
Allows the AI application to access all files and folders inside the site folder.
* **…and database(s)**\
Additionally allows the AI application to access the databases assigned to the site. This option can only be enabled if file access is also enabled.
Note
As long as Claude for Desktop is not installed, both options are not available.
For details — including data flow, the actions an AI can perform, and how to remove access — see [AI Support](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/AI-Support/).
# AI Support
> AI Support
MAMP PRO can grant an AI application access to individual sites you’ve shared with it. This lets you, for example, edit code or a WordPress installation directly with AI assistance, query your databases, or automate routine tasks — without copying or uploading content manually.
At the moment, only **Claude for Desktop** by [Anthropic](https://www.anthropic.com/) is supported. Throughout this documentation we therefore refer to “the AI application”, which always means Claude for Desktop.
## What is MCP?
[Section titled “What is MCP?”](#what-is-mcp)
The connection between MAMP PRO and the AI application is based on the **Model Context Protocol (MCP)** — an open standard that lets AI applications interact with external programs, services, and data sources. To enable this, MAMP PRO provides an **MCP server** through which the AI communicates with shared sites.
You don’t need to worry about the technical details of the MCP server: MAMP PRO automatically registers itself in the AI application’s configuration file as soon as you enable AI access for the first site.
## Requirements
[Section titled “Requirements”](#requirements)
* **MAMP PRO 7.4.3** or newer.
* **Claude for Desktop** (macOS 12 or newer), installed on the same Mac. You’ll find the download on the [Claude website](https://claude.ai/download).
* An account for the AI application, signed in and ready to use. A free account is sufficient.
* An active internet connection.
## Data flow and privacy
[Section titled “Data flow and privacy”](#data-flow-and-privacy)
The MCP server itself runs locally on your Mac. The content the AI reads or modifies through the MCP server — file and database contents — is sent to the AI provider’s servers for processing, and therefore leaves your computer. Your chat history is also transmitted to the provider, just as it is whenever you use the AI application.
How the provider handles this data (retention, use for model training) depends on your account and your personal settings. You’ll find the current terms on the provider’s website — for Claude for Desktop, in the [Anthropic Privacy Center](https://privacy.claude.com/), with personal settings at [claude.ai/settings/data-privacy-controls](https://claude.ai/settings/data-privacy-controls).
Caution
Don’t enable AI Support for sites whose content must not leave your computer — for example, customer data covered by a non-disclosure agreement, or personal data without a corresponding data processing agreement with the provider.
## Enabling AI access
[Section titled “Enabling AI access”](#enabling-ai-access)
You enable AI Support **individually for each site**. Existing sites are not shared automatically — you actively decide which sites to make accessible to the AI.
Note
As long as Claude for Desktop is not installed, the options under **AI support** cannot be enabled.
1. In the sites list, select the site you want to share.
2. Open the **General** tab and then the **Basic** sub-tab.
3. In the **AI support** section at the bottom of the panel, tick:
* **Grant AI apps access to site’s files…**\
Allows the AI application to access all files and folders inside the site folder.
* **…and database(s)**\
Additionally allows the AI application to access the databases assigned to the site. This option can only be enabled if file access is also enabled.
4. Save the change using the **Save** button in the toolbar.
Caution
The first time you enable AI Support, MAMP PRO adds an entry for the MAMP PRO MCP server to the AI application’s configuration file. To make sure the AI picks up this new server, MAMP PRO restarts the AI application.
This restart is only required once. After that, the MCP server is permanently part of the AI application’s configuration. You can share more sites or remove existing shares without having to restart the AI application again.
After the restart, the entry **MAMP PRO MCP Server** appears in the AI application’s list of configured MCP servers — in Claude for Desktop, for example, under **Settings › Developer › Local MCP servers**. This confirms that the connection is in place.
Note
A regular chat that’s open at the moment of the restart is preserved and can be resumed afterwards. An incognito chat (if the AI application offers this feature) is lost after the restart, since incognito chats are typically not stored in the chat history.
## What the AI can do via the MCP server
[Section titled “What the AI can do via the MCP server”](#what-the-ai-can-do-via-the-mcp-server)
Once a site has been shared, the MCP server makes the following groups of functions available to the AI. Which of these the AI actually uses depends on the task you give it in the chat.
Through the MCP server, the AI works with the contents of your sites — files, databases, and WP-CLI commands. Configuring MAMP PRO itself — adding sites, switching PHP versions, controlling servers, or changing general settings — is something you continue to do directly in the application, just as before.
## Information about your sites
[Section titled “Information about your sites”](#information-about-your-sites)
The AI can fetch an overview of all currently shared sites, including site name, path to the site folder, and information about assigned databases.
## Reading files
[Section titled “Reading files”](#reading-files)
* Read the full contents of a single file.
* Read several files in one step — for example, to analyze multiple templates at once.
* List the contents of a folder (one level).
* Query metadata for files or folders (size, modification date, type) — without reading the contents.
* Check whether a file or folder exists.
* Recursively search for files and folders matching a name pattern (for example, all `.php` files).
## Creating, modifying, and deleting files
[Section titled “Creating, modifying, and deleting files”](#creating-modifying-and-deleting-files)
* Create a new file with any content, or overwrite the full contents of an existing file.
* Append contents to the end of an existing file.
* Replace a specific passage in a file — useful for targeted changes without rewriting the entire file.
* Copy files.
* Move or rename files or folders.
* Delete individual files.
## Managing folders
[Section titled “Managing folders”](#managing-folders)
* Create folders, including any required intermediate folders.
* Delete entire folders recursively — including all files and subfolders they contain.
Caution
Deletions and overwrites cannot be undone by MAMP PRO. Take regular [snapshots](/en/MAMP-PRO-Mac/Sites/Snapshots/) or [backups](/en/MAMP-PRO-Mac/Sites/Backup/) before letting the AI carry out larger changes.
## Querying and modifying databases
[Section titled “Querying and modifying databases”](#querying-and-modifying-databases)
If you’ve enabled **…and database(s)**, the AI can run SQL statements against the **MySQL database(s)** of the shared site. This lets you read data, modify individual records, run bulk updates, or analyze the structure of a database. Other database systems (such as Redis or Memcached) are not exposed through the MCP server.
Caution
Write operations (`UPDATE`, `DELETE`, `DROP` …) — for example on tables — are also possible and can change or remove data permanently. Databases themselves, however, cannot be created or dropped. Back up your databases regularly.
## WordPress via WP-CLI
[Section titled “WordPress via WP-CLI”](#wordpress-via-wp-cli)
For a site with a WordPress installation, the AI can run **WP-CLI** commands — the official command-line interface for WordPress. This lets you, for example:
* install, activate, deactivate, or update plugins and themes (only from downloads.wordpress.org),
* manage options, posts, and metadata,
* clear caches or work on the database via WordPress’s own commands. WP-CLI is built into MAMP PRO and does not need to be installed separately. It requires a standard WordPress installation inside the site folder.
Installing a fresh WordPress instance only works if the site already has a database assigned in MAMP PRO and there is no `wp-config.php` file in the site folder yet.
Caution
Because WP-CLI is a very powerful tool, the MCP server tries to detect commands that could cause harm. Just as with direct MySQL access, databases cannot be created or dropped, and access to the `shell` is also blocked by the MCP server. Even so, keep your data safe — for instance, by taking regular snapshots.
## Results may vary depending on the AI model
[Section titled “Results may vary depending on the AI model”](#results-may-vary-depending-on-the-ai-model)
The MAMP PRO MCP server simply provides the tools — how they’re used and the quality of the result depend on the AI application and the language model you’re using. The same request can lead to different approaches, code suggestions, or levels of detail depending on which model is selected. The same principle applies if additional AI applications are supported in the future: the MCP server stays the same, while interpretation and outcome are up to the respective AI provider.
## Specifying a site in chat
[Section titled “Specifying a site in chat”](#specifying-a-site-in-chat)
When several sites are shared, tell the AI in the chat which site you want to work on. The principle is the same as in the sites list in MAMP PRO: you select a site before making changes to it. In the chat, simply mention the site name — the AI will remember it for the subsequent prompts.
To switch to a different site, mention its name explicitly as well. In longer chats, it can help to repeat the site name from time to time.
## Example prompts
[Section titled “Example prompts”](#example-prompts)
Here are some typical tasks you can give the AI in the chat once a site is shared:
* *“Take a look at wp-content/themes/my-theme/functions.php in site-3 and explain what the register\_blocks() function does.”*
* *“Find all .php files in site-1 that call mysql\_query and suggest a replacement using PDO.”*
* *“Run a SQL query on the site-2 database that counts all published posts from the last 30 days.”*
* *“Install and activate the redirection plugin in site-3 via WP-CLI.”*
Note
In longer chats, remind the AI from time to time which site you are currently working on.
## AI access while MAMP PRO is not running
[Section titled “AI access while MAMP PRO is not running”](#ai-access-while-mamp-pro-is-not-running)
After the initial setup, MAMP PRO does not need to be open for the AI to access shared sites. The only requirement is that the servers and services started in MAMP PRO **keep running** — even after you quit the application.
To prevent the servers from being stopped automatically when you quit MAMP PRO, disable the following option:
1. Open **MAMP PRO › Settings**.
2. Choose the **General** tab.
3. Untick **Stop Servers** in the **When quitting MAMP PRO** section. As long as this option is disabled and you’ve started the servers in MAMP PRO at least once, you can quit the application at any time. The AI will continue to access your shared sites and databases through the MCP server, and you can immediately see and test changes in your web browser.
If **Stop Servers** is enabled, on the other hand, the servers and services are stopped together with MAMP PRO. The AI will only be able to reach the shared sites again once you’ve started MAMP PRO and the servers are running.
## Removing AI access
[Section titled “Removing AI access”](#removing-ai-access)
## Single site
[Section titled “Single site”](#single-site)
To remove AI access for a single site, untick the corresponding boxes under **AI support** and click **Save**. The site will no longer be offered through the MCP server and will be unreachable for the AI.
The MAMP PRO MCP server entry in the AI application’s configuration file remains in place — even if no site is shared anymore. You can share sites again at any time without having to restart the AI application.
## Removing AI Support entirely
[Section titled “Removing AI Support entirely”](#removing-ai-support-entirely)
If you want to disable AI Support entirely, you can explicitly remove the MAMP PRO MCP server from the AI application’s configuration:
1. From the menu bar, choose **Tools › AI Support › Remove from ‘Claude for Desktop’…**.
2. Confirm the action.
3. **MAMP PRO** quits the AI application and restarts it. This action removes AI Support completely:
* The MAMP PRO MCP server entry is removed from the AI application’s configuration file.
* For all previously shared sites, the ticks under **AI support** are cleared; the sites are no longer shared with any AI. If you want to use AI Support again later, simply re-enable the boxes for the sites you want. Since the entry is added back to the AI application’s configuration in the process, the AI application is restarted **one more time**, just as during the initial setup.
## Security and responsibility
[Section titled “Security and responsibility”](#security-and-responsibility)
AI Support gives an external application far-reaching access to your local files and databases — including creating, modifying, and deleting content.
* **You stay in control of access.** An AI application can only reach sites for which you have explicitly enabled AI Support in MAMP PRO.
* **Actions cannot be undone automatically.** MAMP PRO does not create automatic backups before AI actions. Use [snapshots](/en/MAMP-PRO-Mac/Sites/Snapshots/) and [backups](/en/MAMP-PRO-Mac/Sites/Backup/) before letting the AI carry out larger changes.
* **Review what the AI is about to do.** Depending on the configuration, the AI application asks for confirmation before taking action — especially for write operations. Read these dialogs carefully before approving.
* **No liability on the part of MAMP GmbH.** MAMP GmbH assumes no liability for actions an AI application performs through the MCP server — including data loss, faulty configuration, or unwanted changes to files and databases. Responsibility for using AI Support and for the consequences lies entirely with you.
# Extras
> MAMP PRO Extras – install WordPress, Drupal, Joomla, MediaWiki, phpBB, or webEdition with a few clicks.
With MAMP PRO Extras you can install a content management system in just a few clicks. Press the “Add…” button to install an Extras package.
Note
We may add or remove extras from time to time.

MAMP PRO provides the following Extras:
* [WordPress](WordPress/)
* [Drupal](Drupal/)
* [Joomla](Joomla/)
* [MediaWiki](MediaWiki/)
* [phpBB](phpBB/)
* [webEdition](webEdition/)
If a listed extra cannot be installed, it is marked with a red arrow. Click this symbol for information on why installation is not currently possible.

# Drupal
> Drupal
MAMP PRO lets you install a current version of Drupal directly from the app for any site.
Drupal is a free and open-source content management system based on PHP and MySQL. See [drupal.org](https://www.drupal.org) for more information. You can find more information about your Drupal installation in the [Drupal documentation](https://www.drupal.org/documentation).

1. Enter all information required for the installation of Drupal.
* **Name of the site:** Enter the name of your website here.
* **E-mail address:** Enter your e-mail address here. Please make sure that it is a valid e-mail address.
* **Directory:** Enter the directory where Drupal should be installed. If you leave this field empty, Drupal will be installed directly into the document root of your site.
Caution
Do not install over a previous installation of Drupal! Files will be overwritten without warning.
* **Table Prefix:** Specify a table prefix here (for the tables in the MySQL database). Drupal offers the ability to manage multiple websites using a single database. The data for the table prefix has already been pre-filled and you can leave it as it is.
* **Database name:** Enter the name of the database here. This can be a new database or an already existing database. The value for the database name has already been pre-filled and you can leave it as it is.
* **User name:** The user name of your Drupal user. This user is a Drupal administrator.
Tip
You will need this information to log in to the administration section of your Drupal site. Write these down so you do not forget them.
* **Password:** The password of your Drupal user.
Tip
You will need this information to log in to the administration section of your Drupal site. Write these down so you do not forget them.
2. After filling in all fields, click the “Install” button in the bottom-right corner.
3. The required files will be downloaded from our server and Drupal will be installed. This may take a few seconds.
4. To open your new Drupal site in your default browser, click on the “Open” button to the right of the site name field.

5. Your new Drupal site should now look like the following screenshot.

# Joomla
> Joomla
MAMP PRO lets you install a current version of Joomla directly from the app for any site.
Joomla is a free and open-source content management system based on PHP and MySQL. See [joomla.org](https://www.joomla.org) for more information. You can find more information about your Joomla installation in the [Joomla documentation](https://docs.joomla.org/Main_Page).

1. Enter all information required for the installation of Joomla.
* **Name of the site:** Enter the name of your website here.
* **E-mail address:** Enter your e-mail address here. Please make sure that it is a valid e-mail address.
* **Directory:** Enter the directory where Joomla should be installed. If you leave this field empty, Joomla will be installed directly into the document root of your site.
Caution
Do not install over a previous installation of Joomla! Files will be overwritten without warning.
* **Table prefix:** Specify a table prefix here (for the tables in the MySQL database). Joomla offers the ability to manage multiple websites using a single database. The data for the table prefix has already been pre-filled and you can leave it as it is.
* **Database name:** Enter the name of the database here. This can be a new database or an already existing database. The value for the database name has already been pre-filled and you can leave it as it is.
* **User name:** The user name of your Joomla user. This user is a Joomla administrator.
Tip
You will need this information to log in to the administration section of your Joomla site. Write these down so you do not forget them.
* **Password:** The password of your Joomla user.
Tip
You will need this information to log in to the administration section of your Joomla site. Write these down so you do not forget them.
2. After filling in all fields, click the “Install” button in the bottom-right corner.
3. The required files will be downloaded from our server and Joomla will be installed. This may take a few seconds.
4. To open your new Joomla site in your default browser, click on the “Open” button to the right of the site name field.

5. Your new Joomla site should now look like the following screenshot.

# MediaWiki
> MediaWiki
MAMP PRO lets you install a current version of MediaWiki directly from the app for any site.
MediaWiki is a free software open source wiki package written in PHP, originally for use on Wikipedia. It is now also used by several other projects of the non-profit Wikimedia Foundation and by many other wikis. See [mediawiki.org](https://www.mediawiki.org) for more information. You can find more information about your MediaWiki installation in the [MediaWiki documentation](https://www.mediawiki.org/wiki/Help:Contents).

1. Enter all information required for the installation of MediaWiki.
* **Name of Wiki:** Enter the name of your Wiki here.
* **E-mail address:** Enter your e-mail address here. Please make sure that it is a valid e-mail address.
* **Directory:** Enter the directory where MediaWiki should be installed. If you leave this field empty, MediaWiki will be installed directly into the document root of your site.
Caution
Do not install over a previous installation of MediaWiki! Files will be overwritten without warning.
* **Table Prefix:** Specify a table prefix here (for the tables in the MySQL database). MediaWiki offers the ability to manage multiple websites using a single database. The data for the table prefix has already been pre-filled and you can leave it as it is.
* **Database name:** Enter the name of the database here. This can be a new database or an already existing database. The value for the database name has already been pre-filled and you can leave it as it is.
* **User name:** The user name of your MediaWiki user. This user is a MediaWiki administrator.
Tip
You will need this information to log in to the administration section of your MediaWiki site. Write these down so you do not forget them.
* **Password:** The password of your MediaWiki user.
Tip
You will need this information to log in to the administration section of your MediaWiki site. Write these down so you do not forget them.
2. After filling in all fields, click the “Install” button in the bottom-right corner.
3. The required files will be downloaded from our server and MediaWiki will be installed. This may take a few seconds.
4. To open your new MediaWiki site in your default browser, click on the “Open” button to the right of the site name field.

5. Your new MediaWiki site should now look like the following screenshot.

# phpBB
> phpBB
MAMP PRO lets you install a current version of phpBB directly from the app for any site.
phpBB is an internet forum package based on PHP and MySQL. See [phpbb.com](https://www.phpbb.com) for more information. You can find more information about your phpBB installation in the [phpBB documentation](https://www.phpbb.com/support/docs/).

1. Enter all information required for the installation of phpBB.
* **E-mail address:** Enter your e-mail address here. Please make sure that it is a valid e-mail address.
* **Directory:** Enter the directory where phpBB should be installed. If you leave this field empty, phpBB will be installed directly into the document root of your site.
Caution
Do not install over a previous installation of phpBB! Files will be overwritten without warning.
* **Table Prefix:** Specify a table prefix here (for the tables in the MySQL database). phpBB offers the ability to manage multiple websites using a single database. The data for the table prefix has already been pre-filled and you can leave it as it is.
* **Database name:** Enter the name of the database here. This can be a new database or an already existing database. The value for the database name has already been pre-filled and you can leave it as it is.
* **User name:** The user name of your phpBB user. This user is a phpBB administrator.
Tip
You will need this information to log in to the administration section of your phpBB site. Write these down so you do not forget them.
* **Password:** The password of your phpBB user.
Tip
You will need this information to log in to the administration section of your phpBB site. Write these down so you do not forget them.
2. After filling in all fields, click the “Install” button in the bottom-right corner.
3. The required files will be downloaded from our server and phpBB will be installed. This may take a few seconds.
4. To open your new phpBB site in your default browser, click on the “Open” button to the right of the site name field.

5. Your new phpBB site should now look like the following screenshot.

# webEdition
> webEdition
webEdition is an open source web application framework and content management system. webEdition will always be installed in a folder called “webEdition” inside the document root folder. See [webedition.org](https://www.webedition.org) for more information.

1. Enter all information required for the installation of webEdition.
* **E-mail address:** Enter your e-mail address here. Please make sure that it is a valid e-mail address.
* **Directory:** webEdition will be installed in a subdirectory of your document root named “webEdition”.
* **Table prefix:** Specify a table prefix here (for the tables in the MySQL database). webEdition offers the ability to manage multiple websites using a single database. The data for the table prefix has already been pre-filled and you can leave it as it is.
* **Database name:** Enter the name of the database here. This can be a new database or an already existing database. The value for the database name has already been pre-filled and you can leave it as it is.
* **User name:** The user name of your webEdition user. This user is a webEdition administrator.
Tip
You will need this information to log in to the administration section of your webEdition site. Write these down so you do not forget them.
* **Password:** The password of your webEdition user.
Tip
You will need this information to log in to the administration section of your webEdition site. Write these down so you do not forget them.
2. After filling in all fields, click the “Install” button in the bottom-right corner.
3. The required files will be downloaded from our server and webEdition will be installed. This may take a few seconds.
# WordPress
> WordPress
MAMP PRO lets you install a current version of WordPress directly from the app for any site.
WordPress is a free and open-source content management system based on PHP and MySQL. See [wordpress.org](https://www.wordpress.org) for more information. You can find more information about your WordPress installation in the [WordPress documentation](https://wordpress.org/support/).

1. Enter all information required for the installation of WordPress.
* **Name of the blog:** Enter the name of your blog or website here.
* **E-mail address:** Enter your e-mail address here. Please make sure that it is a valid e-mail address.
* **Directory:** Enter the directory where WordPress should be installed. If you leave this field empty, WordPress will be installed directly into the document root of your site.
Caution
Do not install over a previous installation of WordPress! Files will be overwritten without warning.
* **Table prefix:** Specify a table prefix here (for the tables in the MySQL database). WordPress offers the ability to manage multiple websites using a single database. The data for the table prefix has already been pre-filled and you can leave it as it is.
* **Database name:** Enter the name of the database here. This can be a new database or an already existing database. The value for the database name has already been pre-filled and you can leave it as it is.
* **User name:** Enter the user name of your WordPress user here. This user is a WordPress administrator.
Tip
You will need this information to log in to the administration section of your WordPress site. Write these down so you do not forget them.
* **Password:** Enter the password of your WordPress user here.
Tip
You will need this information to log in to the administration section of your WordPress site. Write these down so you do not forget them.
2. After filling in all fields, click the “Install” button in the bottom-right corner.
3. The required files will be downloaded from our server and WordPress will be installed. This may take a few seconds.
4. To open your new WordPress site in your default browser, click on the “Open” button to the right of the site name field.

5. Your new WordPress site should now look like the following screenshot.

# Python
> Python

* **Enable Python**\
Enable this option if you want to use Python for the selected site.
This option can only be enabled if you have selected Apache as the web server for the site and enabled the “wsgi\_module” module ([Settings › Server › Apache](/en/MAMP-PRO-Mac/Settings/Server/Apache/)).
* **App name**\
The app name assigns a URL to a specific target directory. For example, if you use the value “site-1-app” here, your Python project (the app index.py file) can be accessed in the browser via the URL “” (may differ depending on your site name, SSL and port settings).
* **Open**\
To open your site in your default browser, click on the “Open” button to the right of the site name field. This button is only active when the servers are running.
* **Open in** The “Open in” button allows you to open the site’s website in a specific browser. This button is only active when the servers are running.
* **Process Group**\
Enter the name of the desired process group here. You can combine several Python apps in a process group. When you activate the “Enable Python” option, MAMP PRO creates a separate process group for each of your Python apps.
* **App index.py File**\
In web applications, the “index.py” file serves as the main file/initialization script that starts the application code and executes certain tasks, such as setting up a database connection or loading configurations.
* **Choose…**\
Here you can choose the directory and the file name. By default, this file is located at “DOCUMENT\_ROOT/index.py”.
* **Edit…**\
Click this button to open the selected file in the MAMP PRO editor.
* **Open in**\
Click this button to open the selected file in a program of your choice (e.g. a text editor).
* **Advanced Options**
* **Virtual Env Path**\
Here you specify the path to a virtual environment to be used for the selected site. A virtual environment is an isolated Python environment that allows you to manage project-specific dependencies separately from other projects and the global Python interpreter.
* **New…**\
Click this button to create a virtual environment and assign it to the site.
You can define the name (corresponding to the directory name) and specify whether installed third-party packages (site-packages) should be included from the MAMP PRO Python installation. If these two options are not visible, you can show them by clicking the “Options” button.

* **Choose…**\
Click this button to select a virtual environment.
* **Unset**\
Click this button to clear the “Virtual Env Path” selection. The virtual environment itself remains unchanged.
* **Directive \ in httpd.conf**\
Here you can directly edit the Python configuration, which is written to the Apache configuration file “httpd.conf”.
* **Edit…**\
Click this button to open the Python configuration template for editing. You can use the following placeholders in this template:
* `MAMP_PythonAppName_MAMP` ← field “App Name”
* `MAMP_PythonProcessGroup_MAMP` ← field “Process Group”
* `MAMP_PythonAppAlias_MAMP` ← field “App Name”
* `MAMP_PythonIndexPyPath_MAMP` ← field “App index.py File”
* `MAMP_VirtualHost_DocumentRoot_MAMP` ← field “Document root”
* `MAMP_VirtualHost_Port_MAMP` ← field “Port number”

* **View…**\
Click this button to view the Python configuration. The placeholders have been replaced by the real values.

* **Reset…**\
Click this button to reset the Python configuration template.

# SSL
> SSL

To encrypt traffic from Apache or Nginx to a web browser, you can use SSL.
Note
SSL functionality is not available for the localhost site.
For a web browser to accept a site’s SSL certificate without showing a warning, the certificate must be signed by a special authority. Before creating the first own site, MAMP PRO creates such a special “MAMP PRO certificate” and stores it in the macOS keychain. This “MAMP PRO certificate” will be used to sign all future SSL certificates created by MAMP PRO.
This only works if the web browser uses the macOS keychain, such as Safari, Chrome, or Brave. Firefox and Edge do not use the keychain. For those browsers, you need to accept the site’s certificate once when accessing the site via HTTPS.
Since adding the “MAMP-PRO certificate” to the macOS keychain is a security-related action, the operating system will ask for the administrator name and password of the macOS user.
The “MAMP-PRO Certificate” has the name “MAMP\_PRO\_Root\_CA” in the macOS keychain. You can view it and also manually delete it. It is automatically created and re-entered by MAMP PRO if necessary.
* **Enable SSL**\
Enable this checkbox if you want your site to be accessible via HTTPS (https\://).
Note that this checkbox is automatically checked if you have specified a name ending in “.dev”, because this is a top-level domain whose registry has specified that only secure connections over HTTPS are allowed, so browsers automatically redirect from HTTP to HTTPS. More information about this top-level domain can be found at [Wikipedia](https://en.wikipedia.org/wiki/.dev).
* **Certificate file**\
Point to your certificate file. The file dialog will only show `.crt` files.
* **Certificate key file**\
Point to your certificate key file. The file dialog will only show `.key` files.
* **Advanced Options**
* **Chain file (Apache only)**\
Point to your chain file or Alias.
[]()
* **Enforce TLS encryption, do not allow insecure methods**\
Enabling this option prevents web browsers from using old and insecure SSL methods when connecting to this site. Only connections using TLS 1.2 and 1.3 will be accepted, TLS 1.0, TLS 1.1, SSLv2 and SSLv3 connections are rejected. This is the recommended setting.
[]()
* **Allow to access this site via insecure http connections**\
Enabling this option allows web browsers to also access ALL resources of this SSL site via http protocol. This is NOT a recommended setting.
If you only want to make PARTS of the site accessible via http (i.e. static content like images), do NOT check this option but use the `` or `` (Apache) or `location` or `server` (Nginx) directives in the appropriate tab or template file.
* **Create a new self-signed certificate…**\
Use “Create a new self-signed certificate…” to test SSL functionality. Your browser will not recognize this certificate and you will have to click through warnings when viewing your site in a browser.

It is normal to get a warning when using a self-signed certificate created by MAMP PRO.
# Transfer
> Transfer site data to a remote hosting provider or to MAMP Cloud.
[Hosting ](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Hosting/)Transfer site files and database to a remote hosting provider via FTP.
[Cloud ](/en/MAMP-PRO-Mac/Sites/Site/Transfer/Cloud/)Sync site data with MAMP Cloud.
# Cloud
> Cloud

Note
To use the cloud features, you must first select a cloud provider. To do this, use the [Cloud](/en/MAMP-PRO-Mac/Settings/Cloud/) panel in Settings.
Sites can be backed up in the cloud and restored from there. MAMP PRO saves both your site folder and your database data. Your data for each individual site is stored in a single zip file in the cloud. You do not need to install the software of your chosen cloud provider to use this feature. All you need to do is log in to your cloud account via the [MAMP PRO interface](/en/MAMP-PRO-Mac/Settings/Cloud/).
If you are using one or more databases for your selected site and you want to transfer them to the cloud as well, these databases need to be associated with the site. You can do this in the [Databases tab](/en/MAMP-PRO-Mac/Sites/Site/Databases/).
***
* **Cloud provider**\
Here you can see the cloud provider you have selected.
* **Choose…**\
Click this button to go directly to the [Cloud Settings](/en/MAMP-PRO-Mac/Settings/Cloud/) where you can select your cloud provider.
* **Last saved to \**\
Here you can see the date and time when you last saved your data to the cloud.
* **Last loaded from \**\
Displays the date and time when you last transferred data from the cloud to your local site.
* **Used \ space**\
Here you can see how much space your site’s data is using in the cloud.
***
* **Current activity**\
While a cloud operation is in progress, its status is displayed here.
***
* **Resolve Name Change**\
If you have the same site on two Macs and exchange data via the cloud, you should be able to change the name of the site. If you do this, the ZIP file in the cloud will be renamed as well. When you change the site name on the first Mac, you will be notified of the change on the second Mac. You can either change the name of the ZIP file in the cloud to match the site name, or change the name of the site to match the name in the cloud.
* **Delete from Cloud**\
Click this button to delete all data for the selected site from the cloud. The cloud data will be lost on all computers using it. Files can only be recovered using your cloud provider’s versioning capabilities. Local data will remain unchanged.
* **Load**\
Click this button to download the ZIP file containing the data (files, folders, databases) of the selected site from the cloud. This may take some time depending on the size of the file. It will then be unzipped. If the data is encrypted, it will be decrypted during the unpacking process. The data on the selected site will then be replaced with the data downloaded from the cloud.
Note that this process cannot be undone. Make sure you have a recent backup before loading data from the cloud.
* **Save**\
Click this button to zip the data (files, folders, databases) of the selected site. If you have specified that encryption should be used in the Cloud settings, the data will be encrypted when the ZIP file is created and the file will have the extension “.encryptedzip”. The created ZIP file is then uploaded to the cloud. This may take some time depending on the size of the file.
# Hosting
> Hosting
MAMP PRO allows you to connect to a remote server via (S)FTP. You can upload and download your website or data from your local Mac, or use the built-in editor to modify text files directly on the server.

We have paid special attention to helpful features around WordPress, the world’s most popular CMS. For example, MAMP PRO can automatically detect the database (MySQL/MariaDB) connection data of your WordPress installation on the remote server, or make all the necessary changes so that WordPress still runs smoothly after uploading or downloading to another server. Based on this technology, you can easily move (migrate) an existing WordPress installation from one server to another. And you don’t have to hand over any credentials to an external service. Your data stays with you on your Mac - safely stored in your keychain.
To view the files and folders of a site on a remote server in the built-in editor, switch the file list to its remote view. This is done with the switch on the right side below the file list. Editing, creating, deleting, or customizing files does not require a separate download step, and saving is also done directly on the server.

## Requirements
[Section titled “Requirements”](#requirements)
Before you get started, here are the requirements for your remote site account:
* Apache or Nginx with mod\_rewrite module (Apache 2.2 or later)
* MySQL 5.6 or later / MariaDB 10.3 or later
* PHP 5.4.2 or later
* PHP extensions required: MySQLi, cURL
* Working WordPress 4.9.4 or later
* User has rights to read & write files when connected via (S)FTP
Your host provider’s PHP settings must also meet the following minimum requirements:
* `upload_max_filesize = 40M`
* `post_max_size = 128M`
* `max_execution_time = 120`\
(This needs to be increased if your server is slow and cannot import data.)
* `memory_limit = 128M`
* `max_input_vars = 2000`
If you have any questions about changing these PHP configuration settings, please contact your remote server provider. See also the [Transfer & Hosting FAQ](/en/MAMP-PRO-Mac/FAQ/Transfer/) for related articles.
## Tested Host Providers
[Section titled “Tested Host Providers”](#tested-host-providers)
The following is a list of hosters that have been tested with various versions of Apache, PHP, and MySQL:
| Host Provider | Tested With |
| ------------- | -------------------------------------------------------- |
| GoDaddy | Apache, MySQL 5.6, PHP 7.2, FTP |
| IONOS by 1&1 | Apache, MySQL 5.6, PHP 7.2, SFTP |
| Namecheap | Apache, MySQL 5.6, PHP 5.6, PHP 7.1, FTP, SFTP |
| Host Europe | Apache, MySQL 5.5, PHP 5.6, PHP 7.0, PHP 7.1, FTP |
| Domainfactory | Apache, MySQL 5.6.19, PHP 7.0.24, FTP / FTP with TLS/SSL |
| Domainfactory | Apache, MariaDB 10.4, PHP 8.1, FTP / FTP with TLS/SSL |
## Uploading & Downloading
[Section titled “Uploading & Downloading”](#uploading--downloading)
Before you start transferring your site, make sure you have backed up both your remote site files and your remote database file (before each import transfer, a snapshot is automatically taken to save the last state of your local site, and if something goes wrong, you can always restore the [snapshot](/en/MAMP-PRO-Mac/Sites/Snapshots/) of that site). Once you have made your backups, you are now ready to begin your transfer.
The transfer process involves making changes directly to the database and some configuration files. At this time, only the WordPress content management system has been fully verified for uploading and downloading to a remote server. Other content management systems, such as Drupal and Joomla, or dynamic websites have not been tested, but you may proceed at your own risk. Once the transfer is complete, you should see your site live.
More detailed examples on uploading and transferring your site can be found in the [FAQ section](/en/MAMP-PRO-Mac/FAQ/Transfer/).
## What information do you need from your provider?
[Section titled “What information do you need from your provider?”](#what-information-do-you-need-from-your-provider)
* **Static Sites**\
If you have a static site that does not use a database, you only need to enter the information in the “Public URL” field and “Remote File Server” section.
* **WordPress and sites that use databases**\
If you have a WordPress website or another dynamic website that uses a database, you must fill in all fields.
We only actively support WordPress sites, but your non-WordPress site may work. Please make backups before moving your site to a remote host. The remote feature does not support WordPress multi-sites.
## Settings
[Section titled “Settings”](#settings)
* **Enable Transfer Functions**\
Activate this option if you want to use the transfer functions for the selected site.
* **Presets**\
Clicking this button opens a menu with the following options:
* **Copy Settings from other Site**\
Allows you to copy remote access credentials from another local site to the currently selected local site.
* **Ask Provider for Server Info…**\
Selecting this option opens the macOS Mail application and creates a new email. The email contains questions for your provider about the access credentials for your remote server.
***
* **Public URL**\
This is what you must type into a web browser to view your remote website. The address must begin with “http\://” or “https\://”.
* **Remote File Server**
* **Protocol**\
Select the protocol you will use to transfer files to your remote server. The options are as follows:
* SFTP
* FTP with TLS/SSL
* FTP with implicit SSL
* FTP
* **Server**\
The name of the server you are connecting to when uploading or downloading files.
* **Port**\
Select the port to which you will connect when transferring your files to your remote server. The following ports are commonly used for the appropriate protocols:
* SFTP = 22
* FTP with TLS/SSL = 21
* FTP with implicit SSL = 990
* FTP = 21
* **User name**\
Your user name to use when connecting to your remote server.
* **Password**\
Your password for connecting to your remote server.
* **Path**\
The path to your web server’s document root.
* **Auto-Detect…**\
If you click this button, MAMP PRO will try to determine the value for the Path field automatically. This button is only active if you have entered something in the Public URL field.
* **Choose…**\
Clicking this button opens a dialog with the directory structure of your remote host. Here you can select the appropriate directory.
* **Remote MySQL Server**\
Most websites you create will use a database. You will need to connect to your remote database server (MySQL/MariaDB) to transfer your database.
* **Auto-Detect…**\
If you click this button, MAMP PRO will try to fill in the values of the database connection fields automatically. This will only work if you have WordPress installed on your remote server.
* **User name**\
The name of the database user on your remote server.
* **Password**\
The password of the database user on your remote server.
* **DB Host**\
The name of your host on the remote server.
* **DB Name**\
The database name you will be using on your remote server.
***
* **Verify**\
Click this button to validate the credentials you entered for your remote server.
Note
You must first save your settings for this button to become active.
If everything is okay, a message will be displayed:

However, it is also possible that a problem is detected. For example, the following screenshot shows a message that appears when the remote server has a higher PHP version than the local host.

The example below shows a message when there is a problem with the FTP data:

* **Import…**\
Click this button to download the data (files, directories, database) from your remote host to your local site.
Note
You must first save your settings to enable this button.
* **Publish…**\
Click this button to upload the data (files, directories, database) from your local site to your remote host.
Note
You must first save your settings to enable this button.
# Web Server
> Web server settings per site in MAMP PRO – additional configuration for Apache or Nginx.
MAMP PRO includes two web servers: Apache and Nginx. Here you can configure additional settings for the web server selected for the site.
[Apache ](/en/MAMP-PRO-Mac/Sites/Site/Web-Server/Apache/)Apache-specific configuration for the site.
[Nginx ](/en/MAMP-PRO-Mac/Sites/Site/Web-Server/Nginx/)Nginx-specific configuration for the site.
# Apache
> Apache
Here you can change settings for the Apache web server for the selected site. These settings are security-related! For more information on configuring your Apache server, refer to the [Apache website](https://httpd.apache.org/docs/2.4/).
**Notes**
* You cannot make changes to the Apache settings unless the site is set to Apache (“General” tab).
* Make sure all entries are spelled correctly. Errors in the configured options may prevent Apache from starting.

* **Directive \**\
For detailed information on each option, see the [appropriate chapter in the Apache documentation](https://httpd.apache.org/docs/2.4/mod/core.html#options).
* **Options**
* **Indexes**\
Enables or disables directory browsing. If there is no index.html, index.php, etc. in the document root, the directory listing will be displayed if this option is enabled. Without this option, either nothing will be displayed or an error message will appear.
* **Include**\
Allows the use of Server Side Includes (SSI).
* **Exec CGI**\
Allow CGI execution.
* **SymLinksIfOwnerMatch**\
Restricted version of FollowSymLinks. Allows referencing objects via symbolic links only if the owner matches.
* **Includes NOEXEC**\
Server-side includes are allowed, but #exec cmd and #exec cgi are disabled. It is still possible to #include virtual CGI scripts from ScriptAliased directories.
* **FollowSymLinks**\
Allows symbolic links to be used as references to documents in other directories. This is useful when you want to reference objects outside the directory tree (e.g. web server log files), but be aware that it can expose objects that would otherwise be hidden from the URL tree.
* **MultiViews**\
Allow dynamic documents to be used or disabled depending on the language.
* **AllowOverride**\
Types of directives allowed in .htaccess files.\
(See the [Apache documentation](https://httpd.apache.org/docs/2.4/en/mod/core.html#allowoverride) for more information.)
* **Require**\
Tests whether an authenticated user is authorized by an authorization provider.\
(See the [Apache documentation](https://httpd.apache.org/docs/2.4/en/mod/mod_authz_core.html#require) for more information.)
* **Additional parameters**\
The statements in this field get added to the ` ... ` portion of the host in Apache’s config file.
* **Directory index**\
Specify which file Apache should serve when no filename is given in an address. By default, this is either index.html or index.php.
* **Directive \**
* **Additional Parameters**\
These directives go directly into the httpd.conf file.
* **Server admin**\
Email address that the server includes in error messages sent to the client.\
(See the [Apache documentation](https://httpd.apache.org/docs/2.4/mod/core.html#ServerAdmin) for more information.)
## httpd.conf file
[Section titled “httpd.conf file”](#httpdconf-file)
You cannot edit your httpd.conf file directly in MAMP PRO. You must make custom configurations through your httpd.conf template file. More information on how to [configure your httpd.conf template file](/en/MAMP-PRO-Mac/Menu/File/) can be found in our “Menu › File” section.
# Nginx
> Nginx
Here you can change settings for the Nginx web server for the selected site. These settings are security-related! More information about configuring your Nginx server can be found in the [Nginx documentation](https://nginx.org/en/docs/).
**Notes**
* You cannot make changes to the Nginx settings unless the site is set to Nginx (“General” tab).
* Make sure all entries are spelled correctly. Errors in the configured options may prevent Nginx from starting.

* **Directory index**\
Specify which file Nginx should serve if no filename is given in an address. The default is either index.html or index.php.
* **AutoIndex**\
Enables or disables directory browsing. If there is no index.html, index.php, etc. in the document root, the content of the folder will be displayed if this option is enabled. Without this option, either nothing will be displayed or an error message will appear.
***
* **Location/**
* **try\_files**\
Checks for the existence of files in the specified order and uses the first file found to process the request.\
(See the [Nginx documentation](https://nginx.org/en/docs/http/ngx_http_core_module.html#try_files) for more information).
* **Custom**\
These directives go directly into the nginx.conf file.
* **Access Limits**\
(See the [Nginx documentation](https://nginx.org/en/docs/http/ngx_http_access_module.html) for more information.)
* **allow**\
Allows access for the specified network or address. If the special value unix: is specified (1.5.1), allows access for all sockets in the UNIX domain.
* **deny** Denies access to the specified network or address. If the unix: (1.5.1) special value is specified, denies access for all UNIX domain sockets.
***
* **Directive \**
* **Custom**\
Add additional parameters to the \ directive here.
## nginx.conf file
[Section titled “nginx.conf file”](#nginxconf-file)
You cannot edit your nginx.conf file directly in MAMP PRO. You need to make custom configurations through your nginx.conf template file. More information on how to [configure your nginx.conf template file](/en/MAMP-PRO-Mac/Menu/File/) can be found in our Menu › File section.
# Sites List
> The Sites List displays all MAMP PRO sites and provides controls for organizing, filtering, and deleting them.
The Sites List displays all your MAMP PRO sites. To organize them, you can reorder sites using drag & drop or group sites together (Right-click: “Create Empty Group” / “Group Selection”). If the server is running, double-clicking a site name opens it in your default browser.

Use the search field at the top to filter sites by name as you type.
The site icons and their meaning:
*  localhost icon
*  site icon
* **localhost**\
The “localhost” site is automatically created and cannot be deleted.
* **Blueprints**\
Sites in the “Blueprints” group serve as templates for new sites. These sites are frozen and cannot be accessed in the browser. [Learn more](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/Blueprint/) about creating a new site from a blueprint.
* **Inactive Sites**\
Sites moved to “Inactive Sites” are excluded when the server starts and are inaccessible via the browser.
[]()
* **Trash**\
Move sites you no longer need to the Trash by dragging them or by selecting and clicking the ”-” button at the bottom of the sites list.
To delete individual sites, select them in the Trash and click ”-”, or use “Empty Trash…” from the contextual menu to remove all trashed sites.
When deleting a site, you can also automatically delete the following items:
* the document root directory of the site
* the databases of installed extras
* mapped databases
* data from Cloud
* snapshots folder
These options are available only if corresponding data exists. **Warning:** Deleted data cannot be restored.
[]()
In the footer of the Sites List, you will find controls for [creating sites](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/), deleting sites, performing additional actions for sites, and filtering the list according to defined criteria.
To create a new site, click the **+** button at the bottom of the Sites List. See [Creating a new site](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/) for details.
# Snapshots
> How to create and restore snapshots of a MAMP PRO site's files and databases.
MAMP PRO snapshots allow you to quickly and easily create a snapshot of a site’s files and databases. Snapshots are not tied to a specific installation of MAMP PRO, so you can share them with other MAMP PRO (Mac) users. Sharing snapshots between the Mac and Windows versions of MAMP PRO is not supported.
## Creating a Snapshot
[Section titled “Creating a Snapshot”](#creating-a-snapshot)
1. Select the required site from the sites list.
2. Right-click the selected site.
3. Select “Create Snapshot…” from the context menu.
4. A message will appear indicating that creating a snapshot may take some time. Confirm by clicking OK.

5. In the following dialog box, you can specify the file name and location. Confirm this dialog box by clicking the “Save” button.

6. While the snapshot is being taken, an activity indicator appears next to the site name in the sites list.
7. The snapshot is now created.
## Restoring a Snapshot
[Section titled “Restoring a Snapshot”](#restoring-a-snapshot)
1. Select the required site from the sites list.
2. Right-click the selected site.
3. Select “Restore Snapshot…” from the context menu.
4. In the following dialog box, select the snapshot to restore. Confirm your selection by clicking the Open button.

5. While the snapshot is being restored, an activity indicator appears next to the site name in the sites list.
6. The snapshot is now restored.
# Tutorial
> A step-by-step tutorial for getting started with MAMP PRO on macOS.
Work through this tutorial to get hands-on experience with MAMP PRO. It guides you from start to finish with concrete steps and visible results along the way.
## [Create your first MAMP PRO site](/en/MAMP-PRO-Mac/Tutorial/Create-your-first-MAMP-PRO-site/)
[Section titled “Create your first MAMP PRO site”](#create-your-first-mamp-pro-site)
Start here if you’re new to MAMP PRO. You’ll create a virtual host, start the servers, and have your first PHP page running in the browser.
# Create your first MAMP PRO site
> A step-by-step guide to setting up your first local development site with MAMP PRO – from creating a virtual host to running PHP in the browser.
In this tutorial you will set up a local development site with MAMP PRO from scratch. By the end you will have a virtual host with its own domain running on your Mac, and a PHP page served from it in the browser.
What you need: MAMP PRO installed on macOS. If you haven’t installed it yet, see [Installation](/en/MAMP-PRO-Mac/Getting-started/Installation/).
***
## Part 1: Start MAMP PRO and the servers
[Section titled “Part 1: Start MAMP PRO and the servers”](#part-1-start-mamp-pro-and-the-servers)
1. **Open MAMP PRO.**
Launch MAMP PRO from `/Applications/MAMP PRO.app` or via Launchpad. The MAMP PRO window opens with the **Sites** list on the left and the site configuration panel on the right.
2. **Start the servers.**
Click the **Start** button in the top-right of the toolbar. MAMP PRO may ask for your macOS administrator password to modify system files such as `/etc/hosts`.
Once both servers are running, the button changes to **Stop** and the status indicator turns green. You now have Apache (or Nginx) and MySQL running on your Mac.
3. **Confirm the server is working.**
Open your browser and go to `http://localhost:8888`. You should see the MAMP PRO default page, which confirms the web server is active.
Checkpoint
If you see the MAMP PRO default page, your web server is running. If not, check the [Log](/en/MAMP-PRO-Mac/Menu/Log/) menu for error messages.
***
## Part 2: Create a new site
[Section titled “Part 2: Create a new site”](#part-2-create-a-new-site)
Unlike MAMP, MAMP PRO gives each project its own **virtual host** – a dedicated domain name that maps to a specific folder on your Mac. This means your projects get realistic URLs like `myproject.local` instead of `localhost:8888/myproject/`.
4. **Click the + button** in the lower-left corner of the Sites list to create a new site.
The first time you do this, MAMP PRO will show a dialog explaining that the SSL environment needs to be set up. Click **OK** and enter your macOS administrator password when prompted. This is a one-time step.
5. **Choose the site type.**
A dialog appears with several site types. Select **Empty** – this creates a new site with a simple placeholder page so you can verify everything works before adding your own files.
6. **Set the site name.**
Enter a name for your site, for example `myproject.local`. This name becomes the domain you use in the browser. MAMP PRO automatically creates a matching folder at `~/Sites/myproject.local` and adds an entry to `/etc/hosts` so your Mac resolves the domain locally.
Note
Site names may only contain letters, numbers, and hyphens. They may not begin or end with a hyphen. Use a `.local` suffix to avoid conflicts with real domain names.
7. **Click Apply.**
MAMP PRO writes the new virtual host configuration and restarts the servers. The new site appears in the Sites list. If its icon is blue, the site is accessible.
***
## Part 3: Open your site in the browser
[Section titled “Part 3: Open your site in the browser”](#part-3-open-your-site-in-the-browser)
8. **Click the Open button** to the right of the site name field in the configuration panel.
Your default browser opens and navigates to `http://myproject.local:8888`. You should see the MAMP PRO placeholder page for your new site.
Checkpoint
If the site opens in the browser, your virtual host is working correctly.
9. **Switch to port 80 (optional).**
If you prefer `http://myproject.local` without the port number, go to **Settings › Ports** and click **80 & 3306**. After clicking Apply, your site is accessible at `http://myproject.local` directly.
***
## Part 4: Add your first PHP file
[Section titled “Part 4: Add your first PHP file”](#part-4-add-your-first-php-file)
10. **Open the site folder in Finder.**
In the MAMP PRO configuration panel, click the folder icon next to the **Site folder** field. Finder opens the folder `~/Sites/myproject.local`. You will see an `index.php` file placed there by MAMP PRO.
11. **Replace the placeholder page.**
Open `index.php` in a text editor and replace its contents with:
```php
Hello from MAMP PRO!";echo "PHP version: " . PHP_VERSION . "
";echo "Document root: " . $_SERVER['DOCUMENT_ROOT'] . "
";
```
Save the file.
12. **Reload the browser.**
Go back to your browser and reload `http://myproject.local:8888`. The page now shows your PHP output, including the active PHP version and the document root path.
Checkpoint
Seeing the PHP version confirms that the web server is correctly processing PHP files for your site.
***
## What you have built
[Section titled “What you have built”](#what-you-have-built)
You now have a fully working local development environment with MAMP PRO:
* A dedicated virtual host (`myproject.local`) served by Apache
* A dedicated site folder (`~/Sites/myproject.local`) that maps to the domain
* PHP running and processing `.php` files
**Where to go next:**
* [Set a specific PHP version for your site](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/) – each site can run a different PHP version
* [Create a WordPress site](/en/MAMP-PRO-Mac/Sites/Create-a-new-site/WordPress/) – let MAMP PRO install WordPress automatically
* [Set up SSL](/en/MAMP-PRO-Mac/Sites/Site/General/Advanced/) – serve your site over HTTPS locally
* [Connect to the database](/en/MAMP-PRO-Mac/How-to/MySQL/How-do-I-connect-to-MySQL-with-PHP/) – use phpMyAdmin or connect via PHP
# WebStart
> The MAMP PRO WebStart page – access phpInfo, phpMyAdmin, phpLiteAdmin, PHP cache tools, and documentation links.
The MAMP PRO WebStart page provides quick access to database tools, PHP information, and documentation.

## Tools
[Section titled “Tools”](#tools)
* * phpInfo
* phpMyAdmin
* Adminer
* phpLiteAdmin
* APC
* OPcache
- Shows detailed information about the active PHP configuration.

To access phpInfo for each site, see the [Sites › Site › General › Basic](/en/MAMP-PRO-Mac/Sites/Site/General/Basic/) page (PHP version section).
- Web-based administration tool for MySQL databases. MAMP PRO includes three versions of phpMyAdmin to support different PHP versions – the active version is selected based on the PHP version set on the localhost host.

- Lightweight web-based database administration tool, also written in PHP.

- Web-based administration tool for SQLite databases (SQLite3 and SQLite2).

- APC User Cache – a free, open opcode cache for PHP. [Learn more](https://www.php.net/manual/en/book.apcu.php).

- Stores precompiled script bytecode in shared memory so that PHP skips parsing on every request. [Learn more](https://www.php.net/manual/en/book.opcache.php).

## Help
[Section titled “Help”](#help)
* Documentation
Opens this documentation.
* Bugbase
Report bugs or submit feature requests.
## Examples
[Section titled “Examples”](#examples)
Several code examples show how to connect to MySQL and SQLite databases using PHP and Python.
# Cloud
> Cloud
## What is MAMP Cloud?
[Section titled “What is MAMP Cloud?”](#what-is-mamp-cloud)
MAMP Cloud features provide an easy way to back up your sites (site files and associated databases) or to share code between two PCs, or between a PC and a Mac.
## Backups
[Section titled “Backups”](#backups)
Create backups of your hosts by clicking the Save To button on your host’s Cloud tab. To restore a previously created backup, click the Load From button. MAMP PRO stores the host files and associated host database in the cloud.
## Code Sharing
[Section titled “Code Sharing”](#code-sharing)
Use the MAMP PRO Cloud features to share code between two machines, Macintosh or PC. On one machine, you can “Save To” and send your host data to the cloud. On the other machine, you can pick up where you left off. Press the Load From button and your cloud data will be downloaded to your machine.
Use this [Getting Started Guide](../First-Steps/Save-To-Cloud/) to get started with the cloud features.
***
## Start MAMP Cloud Features
[Section titled “Start MAMP Cloud Features”](#start-mamp-cloud-features)
Dropbox is currently available for this option. You do not need to install the Dropbox software to use this feature — all you need is a Dropbox account.
***
* [Signing up for MAMP Cloud functions](../Settings/Cloud/).
* [Loading and storing files in the cloud](../Settings/Hosts/Cloud/).
# Editor
> Use the MAMP PRO Editor to edit your site files directly and preview your website in real time.
Use the MAMP PRO Editor to directly edit your scripts. You can see your changes instantly in the web preview.

***
## Web Preview
[Section titled “Web Preview”](#web-preview)
Alongside your server-side code, Web Preview displays a live view of your website.

***
## PHP Output
[Section titled “PHP Output”](#php-output)
***
## Apache Log Output
[Section titled “Apache Log Output”](#apache-log-output)
# FAQ
> Frequently asked questions about MAMP PRO for Windows.
[General ](/en/MAMP-PRO-Windows/FAQ/General/)
[MySQL ](/en/MAMP-PRO-Windows/FAQ/MySQL/)
[PHP ](/en/MAMP-PRO-Windows/FAQ/PHP/)
# General
> Here you will find answers to general questions about MAMP PRO (Windows).
Here you will find answers to general questions about MAMP PRO (Windows).
* [Are updates free of charge?](/en/MAMP-PRO-Windows/FAQ/General/Are-updates-free-of-charge/)
* [Is MAMP PRO compatible with Windows 10?](/en/MAMP-PRO-Windows/FAQ/General/Is-MAMP-PRO-compatible-with-Windows-10/)
* [Can I use MAMP at the same time as MAMP PRO?](/en/MAMP-PRO-Windows/FAQ/General/Can-I-use-MAMP-at-the-same-time-as-MAMP-PRO/)
* [Is it possible to add an updated version of PHP?](/en/MAMP-PRO-Windows/FAQ/General/Is-it-possible-to-add-an-updated-version-of-PHP/)
* [Is the ImageMagick PHP module included?](/en/MAMP-PRO-Windows/FAQ/General/Is-the-ImageMagick-PHP-module-included/)
* [Which Apache modules are included?](/en/MAMP-PRO-Windows/FAQ/General/Which-Apache-modules-are-included/)
* [Where can I find the log files?](/en/MAMP-PRO-Windows/FAQ/General/Where-can-I-find-the-log-files/)
* [Will MAMP work if the MAMP folder is not located in the C:\ directory?](/en/MAMP-PRO-Windows/FAQ/General/Will-MAMP-work-if-the-MAMP-folder-is-not-located-in-the-C-directory/)
* [Is the number of virtual hosts and aliases limited?](/en/MAMP-PRO-Windows/FAQ/General/Are-the-amount-of-virtual-hosts-aliases-limited/)
* [Where exactly are the MAMP PRO files created or changed?](/en/MAMP-PRO-Windows/FAQ/General/Where-exactly-are-the-MAMP-PRO-files-created-or-changed/)
* [Where are the configuration files located?](/en/MAMP-PRO-Windows/FAQ/General/Where-are-the-configuration-files-located/)
* [Where can I find more information on the various servers, interpreters, debuggers and other tools that MAMP PRO uses?](/en/MAMP-PRO-Windows/FAQ/General/Where-can-I-find-more-information-on-the-various-servers-interpreters-debuggers-and-other-tools/)
* [My antivirus software is not allowing me to write to the hosts file](/en/MAMP-PRO-Windows/FAQ/General/My-antivirus-software-is-not-allowing-me-to-write-to-the-hosts-file/)
# Is the number of virtual hosts and aliases limited?
> Is the number of virtual hosts and aliases limited?
No, with MAMP PRO you can use as many hosts and aliases as you like.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Are updates free of charge?
> Are updates free of charge?
Yes, all updates in the current major version (4.x) are free of charge. To update MAMP PRO from e.g. 4.1.2 to 4.9, just use the serial number you already have. Licenses never expire and are not subscription-based. MAMP PRO 3 Windows licenses are also valid for MAMP PRO 4 Windows.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Can I use MAMP at the same time as MAMP PRO?
> Can I use MAMP at the same time as MAMP PRO?
Both MAMP and MAMP PRO are configuration tools for the components inside the MAMP folder. Although you could run them simultaneously, you should not. You may encounter sporadic problems, and data loss can occur.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Is it possible to add an updated version of PHP?
> Is it possible to add an updated version of PHP?
You can add additional PHP versions through the user interface. More information on how to do this can be found in the [Languages › PHP](/en/MAMP-PRO-Windows/Languages/PHP/) section.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Is MAMP PRO compatible with Windows 10 and Windows 11?
> Is MAMP PRO compatible with Windows 10 and Windows 11?
Yes, MAMP PRO is compatible with Windows 10 and Windows 11.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Is the ImageMagick PHP module included?
> Is the ImageMagick PHP module included?
The ImageMagick PHP module is included by default, but you must enable it using the [PHP tab](/en/MAMP-PRO-Windows/Languages/PHP/) in MAMP PRO.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# My antivirus software is not allowing me to write to the hosts file
> My antivirus software is not allowing me to write to the hosts file
By default your antivirus software may disable writing to the hosts file.

Most virus protection software will allow you to change this default setting.

Your antivirus may also restrict writing to certain files. You may encounter an error such as the following:
```plaintext
[ERROR] Cannot open Windows EventLog; check privileges, or start server with --log_syslog=0
```
in your MySQL log file. In this case, your antivirus is restricting write access to files with .log extensions.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Where are the configuration files located?
> Where are the configuration files located?
The changes you make in the MAMP PRO interface and template files are used to generate the actual configuration files. These configuration files are recreated every time you start your servers. You cannot edit them directly, but you can view them to verify that your changes in the interface or template files are being correctly reflected.
* **PHP**\
`C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\php.ini`
* **MySQL**\
`C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\my.ini`
* **Apache**\
`C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\httpd.conf`
* **Apache-SSL**\
`C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\httpd-ssl.conf`
* **Nginx**\
`C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\nginx.conf`
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Where can I find more information on the various servers, interpreters, debuggers and other tools that MAMP PRO uses?
> Where can I find more information on the various servers, interpreters, debuggers and other tools that MAMP PRO uses?
Click the following links for further information:
* **Servers & Services**
* [Apache Server](https://httpd.apache.org)
* [Nginx Server](https://nginx.org)
* [MySQL](https://www.mysql.com)
* **Languages**
* [PHP](https://www.php.net)
* [Ruby](http://www.ruby-lang.org/en/)
* [Perl](https://www.perl.org)
* [Python](https://www.python.org)
* **Cache**
* [OPcache](https://www.php.net/manual/en/book.opcache.php)
* **Database Administration**
* [phpMyAdmin](https://www.phpmyadmin.net)
* [MySQL Workbench](https://www.mysql.com/products/workbench/)
* **Content Management Systems**
* [WordPress](https://wordpress.org)
* [Joomla](https://www.joomla.org)
* [Drupal](https://www.drupal.org)
* [webEdition](https://www.webedition.org)
* [Magento](https://magento.com)
* [MediaWiki](https://www.mediawiki.org/wiki/MediaWiki)
* [phpBB](https://www.phpbb.com)
* [PrestaShop](https://www.prestashop.com)
* **Dynamic DNS Providers**
* [DNS-O-Matic](https://dnsomatic.com)
* [No-IP](https://www.no-ip.com)
* [Dyn](https://www.oracle.com/cloud/networking/dns/)
* [EasyDNS](https://easydns.com)
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Where can I find the log files?
> Where can I find the log files?
Your log files are located in `C:\MAMP\logs`. You can access the various logs through the MAMP PRO interface.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Where exactly are the MAMP PRO files created or changed?
> Where exactly are the MAMP PRO files created or changed?
The following list contains all files that are created or changed by MAMP PRO and are not located within the MAMP PRO folder.
* **MAMP PRO Settings and Files**
* `C:\Users\Public\Documents\Appsolute\MAMPPRO\`
* `C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\`
* `C:\Users\[MyUserName]\AppData\Roaming\Appsolute\MAMPPRO\userdb\`
Replace `[MyUserName]` with your username.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Which Apache modules are included?
> Which Apache modules are included?
Apache modules are located in `C:\MAMP\Library\modules`.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# Will MAMP work if the MAMP folder is not located in the C: directory?
> Will MAMP work if the MAMP folder is not located in the C: directory?
Yes, it can be installed on any drive which is registered in the Windows system. But for simplicity, security, and user permissions, we always advise installing on the default `C:\` drive.
***
← [General](/en/MAMP-PRO-Windows/FAQ/General/)
# MySQL
> Here you will find answers to questions about MySQL in MAMP PRO (Windows).
Here you will find answers to questions about MySQL in MAMP PRO (Windows).
* [Where is my MySQL 5.6 database data in MAMP PRO 4?](/en/MAMP-PRO-Windows/FAQ/MySQL/Where-is-my-MySQL-5.6-database-data-in-MAMP-PRO-4/)
* [Can I change the location of where my database data is stored?](/en/MAMP-PRO-Windows/FAQ/MySQL/Can-I-change-the-location-of-where-my-database-data-is-stored/)
# Can I change the location of where my database data is stored?
> Can I change the location of where my database data is stored?
No, you cannot change the location of where your database data is stored.
***
← [MySQL](/en/MAMP-PRO-Windows/FAQ/MySQL/)
# Where is my MySQL 5.6 database data in MAMP PRO 4?
> Where is my MySQL 5.6 database data in MAMP PRO 4?
Your MySQL 5.6 database data is located in `C:\Users\Public\Documents\Appsolute\MAMPPRO\db\mysql56`.
***
← [MySQL](/en/MAMP-PRO-Windows/FAQ/MySQL/)
# PHP
> Frequently asked questions about PHP in MAMP PRO for Windows.
* [PHP 8 compatibility](/en/MAMP-PRO-Windows/FAQ/PHP/PHP-8-compatibility/)
# PHP 8 compatibility
> How to handle PHP 8 compatibility issues and breaking changes in MAMP PRO for Windows.
If you select PHP 8 as the default PHP version or as the PHP version for a site, you will be notified that this PHP version may cause problems with your website.
These problems can occur because PHP 8 is a major step forward for the language: outdated legacy behaviors have been removed and a number of backward compatibilities have been dropped. We offer PHP 8 so that you can adapt your PHP scripts and your own themes or plugins for WordPress.
## Additional Information
[Section titled “Additional Information”](#additional-information)
* [PHP 8.0 Announcement Addendum](https://www.php.net/releases/8.0/en.php)
* [PHP 8 ChangeLog](https://www.php.net/ChangeLog-8.php)
* [Migrating from PHP 7.4.x to PHP 8.0.x](https://www.php.net/manual/en/migration80.php)
***
← [PHP](/en/MAMP-PRO-Windows/FAQ/PHP/)
# First Steps
> First Steps

Click the Servers button at the top right of the title bar to start Apache and MySQL, the default GroupStart web and database servers. The startup status of each server is shown in the left column of the Servers & Services section. A check mark next to a server/service indicates that it will be started or stopped when the Servers button is pressed. The Apache web server (the default web server) uses port 8888 by default. This port must be specified when calling the local web page in the browser, e.g.: `http://localhost:8888`
If you have just upgraded from MAMP Free, you probably already have one website on your local host. To create additional sites, you should create additional hosts. You should have one host in your host list for each website you create.
* [View localhost](View-Localhost/)
* [Add additional host](Add-Additional-Host/)
* [Create a database](Create-a-database/)
* [Copy my template folder](Copy-my-template-folder/)
* [Save To Cloud](Save-To-Cloud/)
* [Main GUI elements](Main-Gui-Elements/)
* [Meaning of icons](Meaning-Of-Icons/)
# Add Additional Host
> Add Additional Host
To add a new host, click the ’+’ button in the lower-left corner of the Hosts table. You can create a simple host by entering a host name and a document root.
Tip
Do not create document root folders under your `C:\MAMP` folder. A better location for your document root folders would be `C:\Users\MyUserName\Sites` or `C:\Users\MyUserName\WebSites`. This will separate your host data from the MAMP PRO application data.
You can also add a database or move files from a previously created template folder. See the [Hosts](../../Settings/Hosts/General/) section for more information on what a host is and how to create additional hosts.

# Copy Template Folder
> Copy Template Folder
A third option when creating a host is to check the “Copy the contents of the template folder” box. This will copy the contents of an existing site or template to your new document root host. A template can also contain subfolders, such as css, js, and img subfolders, which contain files that you can use for each site.

# Create a Database
> Create a Database
Another option when creating a new host is the “Create a database” checkbox. This will add a database associated with your new host. A new database will be created for the “root” MySQL user. This database will be associated with your host which can be confirmed on the [Settings › Hosts › Databases](/en/MAMP-PRO-Windows/Settings/Hosts/Databases/) tab.

# Main GUI Elements
> Main GUI Elements
* MAMP PRO
Open the [www.mamp.info](https://www.mamp.info) web page.
* Editor
Open the MAMP PRO Editor. For more information see the [Editor](../../Editor/) section.
* WebStart
Open the MAMP PRO start page of your local web server. For more information refer to the [WebStart](../../WebStart/) section.
* Start/Stop
Starts the current GroupStart services of MAMP PRO. Stops all services if any GroupStart services are already running.
# Meaning of Icons
> Meaning of Icons
| Icon | Meaning |
| -------------------------------------------------------- | ----------------------------------------------- |
|  | Provides more information, including phpInfo(). |
|  | Indicates that information is missing. |
|  | Adds a new PHP version. |
# Cloud
> Cloud
Go to Settings › Cloud to sign into Dropbox.

## Sign in to your Dropbox
[Section titled “Sign in to your Dropbox”](#sign-in-to-your-dropbox)
Create or log in to your Dropbox account.
## Database Tab
[Section titled “Database Tab”](#database-tab)
If you have a database associated with your host, you will need to map that database. This is done automatically if the host was set up with WordPress when it was created, or if you used an Extra to create the host. A check mark indicates that the database is associated with the host.

## Save to Cloud Tab
[Section titled “Save to Cloud Tab”](#save-to-cloud-tab)
Select a host and go to the Cloud tab for that host. Click ‘Save To’. Your host data and exported database data will be saved to your Dropbox.

## Load From Cloud
[Section titled “Load From Cloud”](#load-from-cloud)
You can use the “Load From” button to load a site from another computer, or from your current computer if you are using the cloud features as a backup utility. To associate a host from another computer, you must use the drop-down menu that appears to the right of the ‘Name’ text box when creating the host. The host will automatically be associated with your Dropbox data. You can then use ‘Load From’ to retrieve this data.

# View localhost
> View localhost
Your default host for MAMP PRO is “localhost”. The files for localhost are initially located in `C:\MAMP\htdocs`. Click the “Open” button located to the right of the “Host Name” text box to open localhost in a web browser.

If you are upgrading from MAMP Free and have been using multiple subdirectories under `C:\MAMP\htdocs` as separate hosts, you will need to check the “index” checkbox to see the directory structure of `C:\MAMP\htdocs`. Check this box, restart your servers, and you will see your directory structure.

Tip
Although the default localhost document root is located in `C:\MAMP\htdocs`, it’s best to keep its document root and the document roots of additional hosts out of the `C:\MAMP` folder. A better directory structure for your host document root folders would be `C:\Users\MyUserName\Documents\Sites\localhost`, `C:\Users\MyUserName\Documents\Sites\site1`, `C:\Users\MyUserName\Documents\Sites\site2`, etc.
# How Tos
> How-to guides for MAMP PRO for Windows.
[General ](/en/MAMP-PRO-Windows/How-Tos/General/)
[MySQL ](/en/MAMP-PRO-Windows/How-Tos/MySQL/)
# General
> General how-to guides for MAMP PRO for Windows.
* [Increase the PHP memory limit](IncreasePHPmemoryLimit/)
* [Set up a host to be both HTTP and HTTPS](SetUpHostHttpHttps/)
* [Redirect HTTP traffic to HTTPS using the MAMP PRO interface](RedirectToHttpsMAMPPRO/)
* [Redirect HTTP traffic to HTTPS using a .htaccess file](RedirectToHttpsHTaccess/)
* [Install ionCube](ionCube/)
* [Install Composer](SetupComposer/)
* [Use Nginx as reverse proxy for Apache while redirecting to a host other than localhost](NginxReverseProxy/)
* [Use a mapped drive for document root locations](MappedDrive/)
* [Create a Python CGI script](HelloWorldPython/)
* [Changing permalink settings with WordPress host and Nginx](SetupWPwithNginx/)
* [Setting up a multisite with a WordPress host and Nginx using subdomains](SetupWPMultisiteNginx/)
# Create a Python CGI Script
> How to create and run a simple Python CGI script with MAMP PRO for Windows.
1. Confirm that the wsgi module is enabled on your Apache server.
2. Create a standard host and name it “MyPythonHost”.
3. Copy the “hello world” script from the [Python documentation](https://docs.python.org/3/howto/webservers.html), name it `test.cgi`, and place it in `C:\MAMP\cgi-bin`.
4. Type the following to see your host: `http://MyPythonHost:8888/cgi-bin/test.cgi`
***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Increase the PHP memory limit
> How to increase the PHP memory limit in MAMP PRO for Windows.
1. Start MAMP PRO.
2. Stop the server if it’s running.
3. Choose Menu › File › Edit Template › PHP 5.x.x php.ini / PHP 5.x.x php.ini.
4. The PHP ini file opens.
5. If a dialog box appears, read it and click OK.
6. Search (`Ctrl` `F`) for `memory_limit`.
7. You should get the following line:
`memory_limit = 32M ; Maximum amount of memory a script may consume (8M)`
8. Change the default value of `32M` to `64M` or higher (e.g. `128M`).
9. Save (`Ctrl` `S`) your changes.
10. Close (`Ctrl` `W`) the file.
11. Start the Server.
***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Install ionCube
> How to install the ionCube loader in MAMP PRO for Windows.
This example uses PHP 5.6.31. If you are installing ionCube for a different PHP version, use the corresponding ionCube loader file and copy it to the appropriate PHP version’s directory.
1. Download the Windows VC11 (32 bits) tar.gz version of [ionCube](http://downloads3.ioncube.com/loader_downloads).
2. Extract ioncube\_loaders\_win\_vc11\_x86.tar.gz. In the resulting “ioncube” directory you will find several files. Copy only ioncube\_loaders\_win\_5.6.dll to `C:\MAMP\bin\php\php5.6.31\ext`. This file works for all PHP 5.6.x versions.
3. Add the following line to your PHP 5.6.31 template file. You can access your template files in MAMP PRO via the menu bar: File › Edit Template › PHP › 5.6.31.
4. Reboot your servers in MAMP PRO.
5. To verify that ionCube is loaded, open your php.ini file. The ionCube loader entry should appear near the top of the file.
***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Use a Mapped Drive with Apache
> How to use a mapped network drive as the document root in MAMP PRO for Windows.
1. Map the folder to a drive (right click on the shared folder and click “Map network drive…”).

2. Your new mapped network drive should appear in the folder selection dialog when you select the document root in MAMP PRO.

3. For Apache to be able to use a mapped network drive, “Process mode” must be selected (Settings window in MAMP PRO).


***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Nginx as Reverse Proxy: Redirect to a Non-localhost Host
> How to configure Nginx as a reverse proxy for Apache and redirect PHP scripts to a host other than localhost in MAMP PRO for Windows.
If you check the “Use Nginx as reverse proxy for Apache” box in Settings › Sites › Nginx, your PHP scripts will be forwarded to localhost by default. You can forward PHP requests to a host other than localhost by making two small changes to your Nginx template file and the MAMP PRO interface.
1. Change the port number of the Apache host to which you want to redirect PHP scripts.
2. In your Nginx template, change the port number to reflect the port number change in your Apache host.
***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# PostgreSQL
> How to use PostgreSQL with MAMP PRO for Windows.
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Redirect HTTP to HTTPS using .htaccess
> How to redirect HTTP traffic to HTTPS using a .htaccess file in MAMP PRO for Windows.
1. Create a .htaccess file using the MAMP PRO Editor and save it to your document root.
2. Add the following lines to your .htaccess file.
```plaintext
RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
```
***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Redirect HTTP to HTTPS using MAMP PRO
> How to redirect HTTP traffic to HTTPS using the MAMP PRO Apache configuration.
1. Go to Settings › Hosts › Apache in MAMP PRO.
2. Add the following lines to your Additional Parameters for `` directive:

```plaintext
RewriteEngine OnRewriteCond %{HTTPS} offRewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
```
***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Install Composer
> How to install Composer for use with MAMP PRO for Windows.
You can set up a host to use Composer in just a few steps. Information on downloading Composer can be found on the [Composer website](https://getcomposer.org/download/). Click on “Composer-Setup.exe” in the Windows Installer section. This will download a file called “Composer-Setup” to your downloads folder.
Click on the Composer Setup file and you will be guided through the installation. Proxy settings are not covered in this tutorial.
Select the version of PHP you want to use with Composer.

The installation wizard will complete the installation.

Verify that Composer is installed correctly by typing “composer —version” on the command line.

***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Set Up HTTP and HTTPS Hosts
> How to create matching HTTP and HTTPS virtual hosts in MAMP PRO for Windows.
You can create matching HTTP and HTTPS hosts by setting up two hosts.
1. Create an http host named “MyHost” with a document root named “MyDocumentRoot”.
2. Create a https (SSL) host named “MyHost” using the document root “MyDocumentRoot”.
You will receive a warning that you are using the same document root and name for multiple hosts. These hosts appear in red.
***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Setting up a multisite with a WordPress host and Nginx using subdomains
> How to set up a WordPress multisite with Nginx using subdomains in MAMP PRO for Windows.
Setting up a WordPress multisite is possible with MAMP PRO. Because Nginx does not use a .htaccess file, some additions to the Nginx location directive are required.
First, set your Nginx port to 80. Create a new host and point it to Nginx. Install WordPress manually or use the Tools feature in MAMP PRO. Enable “Multisite” in WordPress by adding the following line directly below `WP_DEBUG` in your wp-config.php file. Your wp-config.php file is located in the root folder of your site.
```php
define('WP_ALLOW_MULTISITE', true);
```
Go to your Settings › Sites › Nginx tab and add the following to your “try files:” location parameter.
```plaintext
$uri $uri/ /index.php?$args;
```
Add the following to your location parameter.
```plaintext
location ~ ^/files/(.*)$ { try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ; access_log off; log_not_found off; expires max;}
#WPMU x-sendfile to avoid PHP readfile()location ^~ /blogs.dir { internal; alias /var/www/example.com/htdocs/wp-content/blogs.dir; access_log off; log_not_found off; expires max;}
```
Add the following to your Nginx template file just above the “server” directive.
```plaintext
map $http_host $blogid { default -999;
#Ref: http://wordpress.org/extend/plugins/nginx-helper/ #include /var/www/wordpress/wp-content/plugins/nginx-helper/map.conf ;}
```
Restart your servers and navigate to the administration section of your WordPress site. You can now enable Multisite for your WordPress site.

***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# Changing permalink settings with WordPress host and Nginx
> How to fix 404 errors caused by changing permalink settings in WordPress when using Nginx.
Changing the permalink settings in WordPress when using Nginx will result in a 404 error when you view your site. Add the following line to the “try files:” text box in Settings › Sites › Nginx to fix this problem.
```plaintext
$uri $uri/ /index.php?$args;
```
Restart your servers, then close and reopen your browser. You should now see your individual posts instead of a 404 error when navigating through your WordPress site.

More information about using WordPress with Nginx can be found in the [WordPress documentation](https://wordpress.org/documentation/article/nginx/) and on the [Nginx wiki](https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/).
***
← [General](/en/MAMP-PRO-Windows/How-Tos/General/)
# MySQL
> MySQL how-to guides for MAMP PRO for Windows.
* [Connect to MySQL from PHP (PHP ≤ 5.5.x)](connectMySQLphpLess5_5/)
* [Connect to MySQL from PHP (PHP ≥ 5.6.x)](connectMySQLphpGreater5_6/)
* [Connect to MySQL using Python](ConnectMySQLPython/)
* [Connect to MySQL using Perl](ConnectMySQLPerl/)
# Connect to MySQL using Perl
> How to connect to a MAMP PRO MySQL database using Perl.
```perl
use DBI;
my $user = 'root';my $password = 'root';my $db = 'inventory';
my $link = DBI->connect( "DBI:mysql:database=$db", $user, $password);
```
Or, to connect via network:
```perl
use DBI;
my $user = 'root';my $password = 'root';my $db = 'inventory';my $host = 'localhost';my $port = 8889;
my $link = DBI->connect( "DBI:mysql:database=$db;host=$host;port=$port", $user, $password);
```
***
← [MySQL](/en/MAMP-PRO-Windows/How-Tos/MySQL/)
# Connect to MySQL from PHP (PHP ≥ 5.6.x)
> Connect to MySQL from PHP (PHP ≥ 5.6.x)
```php
$user = 'root';$password = 'root';$db = 'inventory';$host = 'localhost';$port = 8889;
$link = mysqli_init();$success = mysqli_real_connect( $link, $host, $user, $password, $db, $port);
```
***
← [MySQL](/en/MAMP-PRO-Windows/How-Tos/MySQL/)
# Connect to MySQL from PHP (PHP ≤ 5.5.x)
> Connect to MySQL from PHP (PHP ≤ 5.5.x)
```php
$user = 'root';$password = 'root';$db = 'inventory';$host = 'localhost';$port = 8889;
$link = mysql_connect( "$host:$port", $user, $password);$db_selected = mysql_select_db( $db, $link);
```
***
← [MySQL](/en/MAMP-PRO-Windows/How-Tos/MySQL/)
# How to connect to MySQL using Python
> How to connect to a MAMP PRO MySQL database using Python.
```python
import mysql.connector
config = { 'user': 'root', 'password': 'root', 'host': 'localhost', 'port': 8889, 'database': 'inventory', 'raise_on_warnings': True,}
link = mysql.connector.connect(**config)
```
***
← [MySQL](/en/MAMP-PRO-Windows/How-Tos/MySQL/)
# Installing and Upgrading
> Installing and Upgrading
## Installation requirements
[Section titled “Installation requirements”](#installation-requirements)
To use MAMP PRO, your system must meet the following requirements:
* Microsoft Windows 10+ (32-bit or 64-bit). MAMP PRO 4 will work on Windows Server OS (although not officially supported).
* 1GB RAM
* .NET Framework 4.0
Note
Make sure you have the latest version of MAMP PRO 4 installed before upgrading to MAMP PRO 5.
* [New Installation](New-Install/)
* [Upgrading from MAMP PRO 3.xx to MAMP PRO 4.xx](MAMP-PRO-3xx-4xx-Upgrade/)
* [Upgrading from MAMP to MAMP PRO](MAMP-MAMP-PRO-Upgrade/)
* [Uninstalling MAMP PRO](Uninstall/)
# Upgrading from MAMP to MAMP PRO
> Upgrading from MAMP to MAMP PRO
The MAMP installer has already installed both a version of MAMP and MAMP PRO. The MAMP application is located in `C:\MAMP`. MAMP PRO is located in `C:\MAMPPRO`.
MAMP and MAMP PRO share many of the same installations of servers, tools, and interpreters. MAMP PRO will pick up where MAMP left off, so to speak.
Note
MAMP PRO stores database data in a different location than the MAMP application.
***
* **Open MAMP PRO**
Click on the `MAMPPRO.exe` file in `C:\MAMPPRO`.
* **Confirm that servers are running**
Click the “Servers” button in the top right corner to start your servers. Your servers should be indicated by ‘On’ under the ‘Servers and Services’ section on the left side of the application.
Your database data will be copied from your MAMP database data folder to your MAMP PRO database data location the first time you start the servers in MAMP PRO. It is important to remember that MAMP PRO only copies your data once.
* Your MAMP database data is located in `C:\MAMP\db`.
* Your MAMP PRO database data is located in `C:\Users\Public\Documents\Appsolute\MAMPPRO\db`.
Problems may occur if you previously tried MAMP PRO and started your servers, because your data was already copied at that point. If you have now decided to upgrade to MAMP PRO, you may be looking at an old copy of your database data.
# MAMP PRO 3.xx to 4.xx Upgrade
> MAMP PRO 3.xx to 4.xx Upgrade
When upgrading to MAMP PRO 4 your existing `C:\MAMP\htdocs\` folder will be preserved if you are installing over a previous installation. Your existing `C:\Users\Public\Documents\Appsolute\MAMPPRO\db\` folder will be preserved by default. This folder contains your database data.
Note
Make sure you have the latest version of MAMP PRO 4 installed before upgrading to MAMP PRO 5.
1. Download MAMP PRO from [www.mamp.info/en/downloads/](https://www.mamp.info/en/downloads/).
2. Double-click `MAMP-MAMP-PRO-5.x.x.exe` in your Downloads folder.
3. The Windows Installer will guide you through the installation process.
***
#### Database Data
[Section titled “Database Data”](#database-data)
Your existing `C:\Users\Public\Documents\Appsolute\MAMPPRO\db\` folder will be preserved by default. You can delete your database data to make a completely clean installation of MAMP PRO 5. This action is irreversible.

***
#### Apple Bonjour
[Section titled “Apple Bonjour”](#apple-bonjour)
By default, Apple Bonjour is installed when you install MAMP PRO. If you choose not to install Apple Bonjour, you will not be able to access your hosts from the MAMP Viewer.

# Upgrading from version 4.xx to version 4.xx
> Upgrading from version 4.xx to version 4.xx
1. Download MAMP PRO from [www.mamp.info/en/downloads/](https://www.mamp.info/en/downloads/).
2. Double-click `MAMP-MAMP-PRO-4.x.x.exe` in your Downloads folder.
3. When upgrading to MAMP PRO 4, your existing `C:\MAMP\htdocs\` folder will be preserved. Your existing `C:\Users\Public\Documents\Appsolute\MAMPPRO\db\` folder will be preserved by default (used by MAMP PRO). This folder contains your database data.
## Database Data
[Section titled “Database Data”](#database-data)
During the installation process you have the option to delete your previous database data. If you check this box, your database data will be deleted from `C:\Users\Public\Documents\Appsolute\MAMPPRO\db\`.

# New MAMP PRO Installation
> New MAMP PRO Installation
1. Download MAMP PRO from [www.mamp.info](https://www.mamp.info/downloads).
2. Double-click `MAMP-MAMP-PRO-5.x.x.exe` in your Downloads folder.
3. The Windows Installer will guide you through the installation process.
***
## Install Location
[Section titled “Install Location”](#install-location)
MAMP and MAMP PRO can be installed on any standard Windows drive such as C:, D:, E:, etc. For simplicity, we recommend using the default directory (C:\MAMP). We strongly advise against installing MAMP and MAMP PRO in a system folder, because the MAMP servers (Apache, MySQL, Nginx) require write permissions for the “log”, “configuration”, “htdocs”, and “databases” folders. These permissions cannot be granted if MAMP and MAMP PRO are installed in the Program Files, Windows, User, or other system folder. Changing User Account Control (UAC), Windows Defender, and Work Privileges settings is not recommended and can compromise system security.
By default, MAMP/MAMP PRO is installed in your `C:\MAMP` and `C:\MAMPPRO` folders.

## Apple Bonjour
[Section titled “Apple Bonjour”](#apple-bonjour)
By default, Apple Bonjour is installed when you install MAMP PRO. If you choose not to install Apple Bonjour, you will not be able to access your hosts from the MAMP Viewer.

## Windows Defender
[Section titled “Windows Defender”](#windows-defender)
You may receive a warning from Windows Defender while installing MAMP PRO. This is standard firewall behavior for Windows applications that run as servers. You can “Allow access” to private networks and public networks depending on your needs. You can change your Windows Firewall permissions later if necessary.

# Uninstalling MAMP PRO
> Uninstalling MAMP PRO
Use the Windows Uninstaller utility to uninstall MAMP PRO. You can remove both your `C:\MAMP` and `C:\MAMPPRO` folders after you have successfully uninstalled MAMP PRO using the Uninstaller.
Caution
Do not manually remove the `C:\MAMP` or `C:\MAMPPRO` folders before using the MAMP/MAMP PRO uninstaller. Doing so may break the uninstaller.
# Languages
> Languages
[PHP ](/en/MAMP-PRO-Windows/Languages/PHP/)
[Python ](/en/MAMP-PRO-Windows/Languages/Python/)
[Perl ](/en/MAMP-PRO-Windows/Languages/Perl/)
[Ruby ](/en/MAMP-PRO-Windows/Languages/Ruby/)
# Perl
> Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. MAMP PRO includes Perl version 5. MAMP PRO installs Perl in `C:\MAMP\bin\perl\bin`.

* **Make Perl available directly from the command line**\
Select this option to make the current version of Perl available on the command line. When this checkbox is checked, Perl is added to your system path (`Path = C:\MAMP\bin\perl\bin;`). You can verify this by checking your system PATH in Advanced System Settings › Environment Variables › System Variables.
***
More information on how to [connect to MySQL using Perl](../../How-Tos/MySQL/ConnectMySQLPerl/) can be found in the How Tos section.
# PHP
> PHP
PHP is a popular web scripting language. MAMP PRO installs several versions of the PHP interpreter.

***
* **Default version**\
Select which PHP version will be the default version. To view the [php template file](../../Menu/File) press the ”+” button.
Note
To remove unneeded PHP versions, stop your servers, quit MAMP PRO, and delete the `C:\MAMP\bin\php\phpX.XX` directory, where `X.XX` is the version you want to remove.
* **Make this version available on the command line**\
Check this option to add the current PHP version to the system path. You can verify this by checking the System PATH in Advanced System Settings › Environment Variables › System Variables.


***
* **Mode**\
Choose whether to use identical PHP versions for all sites (module mode) or on a host by host basis (CGI mode).
* **Identical PHP versions for all sites (module mode)**\
In module mode all hosts use the same PHP version.
* **Individual PHP version for every host (CGI mode)**\
In CGI Mode the PHP settings will be identical for all sites – except for the PHP version. Navigate to the Settings › Hosts section to change the PHP version for each individual site. More information on how to [change the PHP version for an individual host](../../Settings/Hosts/General/#setting_php_version) is covered in the Settings › Hosts › General section.
***
* **Cache module to speed up PHP execution**\
PHP has several cache extensions that can help speed up execution in certain circumstances. This is set to “off” by default. Enabling a cache extension does not necessarily result in greater execution speed. A particular cache is not available for the current PHP version if it is not enabled.
* **off**\
No cache will be used.
* **OPcache**\
OPcache improves PHP performance by storing precompiled script bytecode in shared memory, thereby removing the need for PHP to load and parse scripts on each request. See the [OPcache documentation](https://www.php.net/manual/en/book.opcache.php) for more information.

***
* **Extensions**
* **Xdebug (Debugger)**\
Activate Xdebug to allow PHP to create debugging information during script execution. By default, Xdebug uses localhost and port 9000 in the PHP.ini file.
* **Imagick / ImageMagick**\
Activate Imagick / ImageMagick.
* **Tidy**\
Activate Tidy.
* **Oauth**\
Activate Oauth.
* **Open XDClient**\
With Xdebug activated you can open the XDClient debugger to enable PHP debugging. By default, XDClient expects debugging information on port 9000 of localhost.
***
* **What to log**\
Determine which error types should be reported.
* **Display startup errors**\
Log PHP errors that occur when Apache loads the PHP module.
* **All errors and warnings**\
All errors will be reported.
* **Errors**\
Script errors that make the further execution of the current PHP script impossible.
* **Warnings**\
General errors in the PHP environment.
* **Notices**\
Possible problems that do not directly concern PHP but may indicate an error in a script.
* **Other**\
Report additional error types using constants. See the PHP documentation for more information.
***
* **Log Errors**\
Determine if errors should be recorded in a log file and/or displayed in a web browser window.
***
More information on how to [connect to MySQL using PHP (PHP ≤ 5.5.x)](../../How-Tos/MySQL/connectMySQLphpLess5_5/) and [connect to MySQL using PHP (PHP ≥ 5.6.x)](../../How-Tos/MySQL/connectMySQLphpGreater5_6/) can be found in the How Tos section.
# Python
> Python
Python is a widely used high-level, general-purpose, interpreted, dynamic programming language. MAMP PRO installs Python in `C:\MAMP\bin\python\bin`.

***
* **Make Python available from the command line**\
Select this option to make the current version of Python available on the command line. When this option is checked, Python is added to your system path (`Path = C:\MAMP\bin\python\bin;`). You can verify this by checking your system PATH in Advanced System Settings › Environment Variables › System Variables.
***
More information on how to [connect to MySQL using Python](../../How-Tos/MySQL/ConnectMySQLPython/) can be found in the How Tos section.
# Ruby
> Ruby
Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. MAMP PRO installs Ruby in `C:\MAMP\bin\ruby\bin`.

***
* **Make Ruby available directly from the command line**\
Check this option to make the current version of Ruby available on the command line. When this checkbox is checked, Ruby is added to your system path (`Path = C:\MAMP\bin\ruby\bin;`). You can verify this by checking your system PATH in Advanced System Settings › Environment Variables › System Variables.
# MAMP Viewer
> MAMP Viewer
The MAMP PRO & MAMP Viewer combo is a great way to preview your websites on a mobile device. MAMP Viewer is available in the Apple App Store. To make your individual host visible in the MAMP Viewer, you must enable it in the [Hosts › Settings › General](../Settings/Hosts/General/#mamp_viewer) tab. Restart your servers to enable viewing in the MAMP Viewer.

Preview your work with the MAMP Viewer, available for iOS.
* [MAMP Viewer in the AppStore](https://apps.apple.com/us/app/mamp-viewer/id1047237620?mt=8)

***
## FAQ
[Section titled “FAQ”](#faq)
### My Magento site will not show up in the MAMP Viewer?
[Section titled “My Magento site will not show up in the MAMP Viewer?”](#my-magento-site-will-not-show-up-in-the-mamp-viewer)
At this time the MAMP Viewer does not support Magento installations.
### How do I refresh my list of hosts?
[Section titled “How do I refresh my list of hosts?”](#how-do-i-refresh-my-list-of-hosts)
Pull down on your iOS device’s screen to refresh your hosts.
### Can I use WordPress Multisite?
[Section titled “Can I use WordPress Multisite?”](#can-i-use-wordpress-multisite)
At this time the MAMP Viewer does not support WordPress multisite.
# Menu
> Menu
[File ](/en/MAMP-PRO-Windows/Menu/File/)
[Tools ](/en/MAMP-PRO-Windows/Menu/Tools/)
[View ](/en/MAMP-PRO-Windows/Menu/View/)
[Help ](/en/MAMP-PRO-Windows/Menu/Help/)
# File
> File
## Edit Template[]()
[Section titled “Edit Template”](#edit-template)
MAMP PRO uses templates to create the necessary server configuration files. You can edit these templates from the File › Edit Template menu. This gives you access to options that are not available from the MAMP PRO user interface.
A template file is created in `C:\Users\[username]\AppData\Roaming\Appsolute\MAMPPRO\templates` when you make a change to one of your templates. There are separate templates for Apache, Apache SSL, Nginx, PHP, and MySQL configurations.
Caution
Errors in the configuration file templates can cause the servers to fail to start. Do not edit these templates unless you know the exact syntax and meaning of the options.
* **Apache (httpd.conf and httpd-ssl.conf)**\
Here you can open and edit your `httpd.conf` template file. Changes made to your template file will be reflected in your actual `httpd.conf` file. The `httpd.conf` file is generated from the template file and is located in `C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\`. You can check this file to verify that changes you make to your template file are reflected correctly.
Note
Changes will be reflected in your actual httpd.conf file after your servers are restarted. This applies to all configuration files including `nginx.conf`, `php.ini`, `my.cnf` and `main.cnf`.
* **Nginx (nginx.conf)**\
Open and edit your `nginx.conf` template file here. Changes made to your template file will be reflected in your real `nginx.conf` file. The `nginx.conf` file is generated from the template file and is located in `C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\`.
* **PHP (php.ini)**\
Open and edit your `php.ini` template file here. There are likely several versions of PHP available, each of them with their own template file. Changes made to your template file will be reflected in your real `php.ini` file. The `php.ini` file is created from the template file and is located in `C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\`.

* **MySQL (my.cnf)**\
Open and edit your `my.cnf` template file here. There are likely several versions of MySQL available, each of them with their own template file. Changes made to your template file will be reflected in your real `my.cnf` file. The `my.cnf` file is created from the template file and is located in `C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\`.
## Factory Settings
[Section titled “Factory Settings”](#factory-settings)
* **Development**
This option resets all host and server settings back to their defaults, including Apache ports (8888, 8890, 8889) and the Apache/MySQL user credentials.
***
## Backup…
[Section titled “Backup…”](#backup)
Back up all your host settings, host files, and database files.

## Restore From Backup:
[Section titled “Restore From Backup:”](#restore-from-backup)
Restore files from a previous backup.

Caution
Restoring your backed-up files may overwrite your current host and database files. Back up your current host and database files before restoring from a backup.
***
## Settings
[Section titled “Settings”](#settings)

* **Open Webstart when starting MAMP PRO**
Check this box to open a browser to the Webstart page when you start MAMP PRO.
* **Path to Webstart:**
The path to your Webstart page. By default, this is set to `http://localhost:8888/MAMP` using an alias.
* **Allow saving**
Allow saving if MAMP PRO detects an invalid document root or IP address.
* **Start Apache and MySQL servers as:**
MAMP PRO can run Apache and MySQL as a service or as a process. Apache and MySQL on Windows are set to run as a service by default for MAMP PRO Windows installations. Running servers as “Network Service” is more restrictive than running them as processes under the current user.
# Help
> Help
## MAMP tv
[Section titled “MAMP tv”](#mamp-tv)
[www.mamp.tv](http://www.mamp.tv) contains how-tos in video format for MAMP PRO.
## MAMP PRO Support
[Section titled “MAMP PRO Support”](#mamp-pro-support)
Report a problem you are having with MAMP PRO.
## Report a bug
[Section titled “Report a bug”](#report-a-bug)
Report a bug to our bug tracker.
## Enter Serial
[Section titled “Enter Serial”](#enter-serial)
Register MAMP PRO.
# Tools
> Tools
## Start/stop servers
[Section titled “Start/stop servers”](#startstop-servers)
Start and stop active servers.
## WebStart
[Section titled “WebStart”](#webstart)
Open the WebStart page.
***
## Extras
[Section titled “Extras”](#extras)
Go directly to the Extras pane of the last selected site.
***
## Verify MySQL Databases
[Section titled “Verify MySQL Databases”](#verify-mysql-databases)
View a complete list of schemas and tables in your MySQL database. The database must be running for this feature to work.
## Repair MySQL Databases
[Section titled “Repair MySQL Databases”](#repair-mysql-databases)
Runs mysqlcheck, which performs table maintenance.
## Update MySQL Databases
[Section titled “Update MySQL Databases”](#update-mysql-databases)
Updates your databases. The server must be stopped to use this function.
## Back Up MySQL Databases
[Section titled “Back Up MySQL Databases”](#back-up-mysql-databases)
Backs up your databases. The server must be stopped to use this feature.
***
## Show Hosts File
[Section titled “Show Hosts File”](#show-hosts-file)
The hosts file is located in `C:\Windows\System32\drivers\etc`. It maps host names to IP addresses on your PC. Host entries created by MAMP PRO are marked with `# MAMP PRO - Do NOT remove this entry! These will disappear when Apache is shut down.`
# View
> View
Use the View menu to view the different tabs in MAMP PRO.
## Overview
[Section titled “Overview”](#overview)
The Overview provides a preview of your various hosts.
# Servers and Services
> Servers and Services
[Apache ](/en/MAMP-PRO-Windows/Servers-and-Services/Apache/)
[Nginx ](/en/MAMP-PRO-Windows/Servers-and-Services/Nginx/)
[MySQL ](/en/MAMP-PRO-Windows/Servers-and-Services/MySQL/)
[Dynamic DNS ](/en/MAMP-PRO-Windows/Servers-and-Services/Dynamic-DNS/)
[Memcached ](/en/MAMP-PRO-Windows/Servers-and-Services/Memcached/)
[SMTP ](/en/MAMP-PRO-Windows/Servers-and-Services/Postfix/)
# Apache
> Apache
Apache is a popular web server used in production environments. MAMP PRO installs an instance of the Apache server on your PC. Information on configuring your MAMP PRO Apache Server installation can be found in the [Settings › Hosts › Apache](../../Settings/Hosts/Apache/) section.

* **Include Apache Server in GroupStart**
Check to include the Apache server in the GroupStart. If enabled, Apache will start and stop automatically when the Servers button is pressed.
***
* **Apache Modules**
The Apache web server installed by MAMP PRO comes with many modules preinstalled.
The web server modules can be enabled or disabled as needed. The module description provides information about the features and functions of the selected module.
To enable the PHP scripting language, enable php\_module; to enable Python, enable mod\_wsgi; to enable Perl, enable perl\_module. To switch to CGI mode and use multiple PHP versions, enable cgi\_module.
***
* **Path to Apache log file**
Errors that occur while the Apache server is running are recorded in this log file.
# Dynamic DNS
> Dynamic DNS
If you want to make your hosts accessible from the internet (don’t forget security!) but do not have a domain name pointing to your PC, you will need a Dynamic DNS service.
If your network is connected to the internet through a router that can handle Dynamic DNS services, you don’t need to configure it in MAMP PRO.
Otherwise, you will need to register with a Dynamic DNS service and enter the username and password in the appropriate fields. You then need to tell MAMP PRO when to notify the Dynamic DNS provider of a change in your PC’s IP address — for example, when you reboot your computer or when a DSL/cable modem reconnects.
Note
To use the Dynamic DNS features, you must register with one of the supported providers. This is independent of MAMP PRO and is not a service provided by MAMP GmbH.

***
* **Include Dynamic DNS service in GroupStart**\
Check to include the DNS server in GroupStart. If enabled, the DNS server will start automatically when the Servers button is pressed.
***
* **Activate Service**
* **Only while a web server is running**
* **Permanently (as a System Service)**
***
* **Account data for service**
Select the tab for your dynamic DNS service provider if you have an account with [DNS-O-Matic](https://dnsomatic.com), [no-ip.com](https://no-ip.com), [dyn.com](https://dyn.com), or [easydns.com](https://easydns.com). For all other dynamic DNS service providers, select the Generic tab.
* **User name:**\
Enter the user name that was given to you by the provider of the Dynamic DNS Service.
* **Password:**\
Enter the password that was given to you by the provider of the Dynamic DNS Service.
* **Server:**\
Enter the server name … .
***
* **Path to Dynamic DNS log file**\
Events from the Dynamic DNS service are recorded in a log file.
# Memcached
> Memcached
Memcached is an in-memory key-value store for small chunks of arbitrary data.

* **Include Memcached server in GroupStart**
Check to include the Memcached Server in GroupStart. When activated, Memcached will automatically start and stop when the Servers button is pressed.
* **Flush cache**
Flush your cache.
* **Stats**
View your cache statistics in a separate window.
***
* **Log level**
Select the level of detail for your log file.
* **Path to Memcached log file**
Errors that occur while the Memcached server is running are recorded in this log file.
# MySQL
> MySQL
MySQL is a popular database server used in production environments. MAMP PRO installs MySQL on your computer. Your MAMP PRO MySQL database data is located in `C:\Users\Public\Documents\Appsolute\MAMPPRO\db\`. To connect to your MySQL database in MAMP PRO, you must use TCP/IP (network) connections.

* **Include MySQL Server in GroupStart**\
Check this box to include the MySQL server in GroupStart. If enabled, the MySQL server will be automatically started/stopped when the Servers button is pressed.
***
* **Version**\
The current MySQL version.
***
* **Change the password of the “root” user**\
The main database administrator is called root. This user has full access to all databases. You should therefore change the password to one that only you know.
***
* **Administer MySQL with**
* **phpMyAdmin** is a web-based administration tool. It allows you to modify data and perform administrative tasks such as creating new databases.
***
* **Path to MySQL Log File**\
Errors that occur during startup or execution of the MySQL server are stored in this log file.
# Nginx
> Nginx
The Nginx web server is a popular web server used in production environments. MAMP PRO installs an instance of Nginx on your Windows computer. Information on how to configure your Nginx server can be found in the [Settings › Hosts › Nginx](../../Settings/Hosts/Nginx/) section.

* **Include Nginx server in GroupStart**
Check this to include the Nginx server in GroupStart. If enabled, Nginx will start and stop automatically when the Servers button is pressed.
***
* **Use Nginx as reverse proxy for Apache**
Check this to use Nginx as a reverse proxy for Apache. When this option is checked, the following will be added to your `C:\Users\Public\Documents\Appsolute\MAMPPRO\conf\nginx.conf` file. Your requests will now be redirected to your Apache server localhost.
```plaintext
# proxy the PHP scripts to Apachelocation ~ \.php$ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://xxx.xxx.x.xxx:8888;}
```
***
* **Nginx Modules**
The Nginx web server installed by MAMP PRO comes with several modules preinstalled.
The web server modules can be enabled or disabled according to your needs. The module description provides information about the features and functions of the selected module.
***
* **Path to Nginx log file**
Errors that occur while the Nginx server is running are stored in this log file.
# SMTP
> SMTP
If you need to send email from PHP, you will need to configure and run SMTP. An easy way to set up SMTP is to use the configuration tool built into MAMP PRO.

* **Include SMTP service in GroupStart**
Check this to include SMTP in the GroupStart. If enabled, SMTP will automatically start/stop when the Servers button is pressed.
***
* **Set outgoing mail domain to:**
If you want to use the PHP function `mail()` to send emails to your own email address (like ), simply enter “johndoe.com” (without quotes — replace with your actual domain name) in this field.
Note
Only if you want to send email to others do you need to fill in the other fields. In this case, make sure that your email provider allows you to use a Smart Host.
***
* **Use an intelligent host for routing**
* **Outgoing server:**\
Enter the name of your outgoing mail server. For example, this could be “smtp.johndoe.com” (without quotes). Check with your provider if you are unsure of the server name.
* **Use authentication**\
Unencrypted: Your username and password are sent unencrypted.
MD5 Challenge-Response: MD5 challenge response authentication is used.
* **Username**\
Enter the username of your email account.
* **Password**\
Enter the password for your mail account.
* **Authentication**\
What type of authentication to use.
Note
Some providers do not allow smart hosts, such as Google Mail.
***
* **Path to SMTP log file**\
The path to your SMTP log file.
# Settings
> Settings
[Hosts ](/en/MAMP-PRO-Windows/Settings/Hosts/)
[Ports ](/en/MAMP-PRO-Windows/Settings/Ports/)
[Editor ](/en/MAMP-PRO-Windows/Settings/Editor/)
[Cloud ](/en/MAMP-PRO-Windows/Settings/Cloud/)
# Cloud
> Cloud
Store and load your host and database data using a cloud provider. Currently, Dropbox is available for this option. You do not need to install Dropbox software to use this feature — you only need a Dropbox account. After you log into Dropbox and choose your settings you can save and load your hosts using the functionality in the hosts table. More information on using host cloud functions can be found in the [Settings › Hosts › Cloud](../Hosts/Cloud/) section.
Note
Your files will not be synced automatically. You must manually load and save your hosts using the load and store functions.

***
## Use Cloud Service
[Section titled “Use Cloud Service”](#use-cloud-service)
When you check this option you will be asked to log into your Dropbox account. When you have completed the login process your Dropbox will be linked to MAMP PRO. When saving to the cloud, your data will be saved as either a zip archive (.zip) or an encrypted zip archive (.encryptedzip), depending on your encryption settings.

***
## Before transferring data to the cloud : Always encrypt the data
[Section titled “Before transferring data to the cloud : Always encrypt the data”](#before-transferring-data-to-the-cloud--always-encrypt-the-data)
Use this feature to encrypt your data before moving it to Dropbox. All data is encrypted before being transferred to the cloud using the Advanced Encryption Standard (AES) and an encryption key you provide. The key will be stored in the system keychain. You cannot set the encryption key if there is cloud activity.
Note
When you set encryption your files will be stored on Dropbox with a `.encryptedzip` extension. Previously stored hosts will keep their `.zip`, unencrypted extension, until they are reloaded to the cloud.
## Unattended transfers : Prevent sleeping during cloud activity
[Section titled “Unattended transfers : Prevent sleeping during cloud activity”](#unattended-transfers--prevent-sleeping-during-cloud-activity)
If there is cloud activity MAMP PRO can prevent your computer from going into sleep mode. Once all cloud activity has finished, MAMP PRO no longer prevents sleep mode.
***
## Path to log file
[Section titled “Path to log file”](#path-to-log-file)
The path to your cloud log file. Your cloud activity log is located in `C:\MAMP\logs`.
***
## Cloud Activity
[Section titled “Cloud Activity”](#cloud-activity)
When saving to the cloud, your data will be saved as either a zip archive (.zip) or an encrypted zip archive (.encryptedzip), depending on your encryption settings. This file will be transferred directly to Dropbox. If you have the Dropbox software installed and the MAMP PRO folder is not in the exception list, the Dropbox software will download the folder content to `C:\Users\UserName\Dropbox\Apps\MAMP PRO` after MAMP PRO has uploaded data.
When the Cloud activity indicator turns off, it signals that the data has been completely transferred to Dropbox. At that point, the Dropbox software may not even have started transferring the data back to your computer. The Dropbox icon is not an indicator that MAMP PRO has finished its cloud work.
The “transmission” entry next to the cloud icon in the sidebar indicates whether MAMP PRO has finished its cloud activity.

# Editor
> Editor
## Editing
[Section titled “Editing”](#editing)
Customize your document editing settings here.

* **Auto-Save:**
* Automatically save when closing a modified document
***
* **Editing:**
* Show invisible characters
* Spell check as you type
* Show line numbers
* Enable smart insert and delete
* Show matching braces
* Show page guide, at column
***
* **Auto-Complete:**
* Suggest automatically, after delay (in seconds)
* Include standard words
* Auto-insert a closing )
* Auto-insert a closing }
***
* **Tab Width**
Number of spaces to tab with.
* **Indent Width**
Number of spaces to indent with.
* **Indenting**
* Indent with spaces, not tabs
* Tab stops
* Indent new lines the same as the line above
* Line wrap
* Treat { and } intelligently
***
## Default Apps
[Section titled “Default Apps”](#default-apps)
Customize your default application settings here.

# Hosts
> Hosts
[General ](/en/MAMP-PRO-Windows/Settings/Hosts/General/)
[Apache ](/en/MAMP-PRO-Windows/Settings/Hosts/Apache/)
[Nginx ](/en/MAMP-PRO-Windows/Settings/Hosts/Nginx/)
[SSL ](/en/MAMP-PRO-Windows/Settings/Hosts/SSL/)
[Databases ](/en/MAMP-PRO-Windows/Settings/Hosts/Databases/)
[Extras ](/en/MAMP-PRO-Windows/Settings/Hosts/Extras/)
[Cloud ](/en/MAMP-PRO-Windows/Settings/Hosts/Cloud/)
# Apache
> Apache
Apache options can be set for the virtual host selected in the table. These options are security-related! For more information about configuring your Apache server, see the [Apache website](https://httpd.apache.org/docs/current/).

* **Options for \ directive**
* **Indexes**\
Enables or disables directory browsing. If there is no index.html, index.php, etc. in the document root, a directory listing will be displayed if this option is enabled. Without this option, nothing will be displayed or an error message will be displayed.
* **Includes**\
Allows the use of Server Side Includes (SSI).
* **FollowSymLinks**\
Allows you to use symbolic links to point to documents in other directories. This is useful when you want references to objects outside the directory tree (e.g., web server log files), but be aware that this can expose objects outside the URL tree.
* **SymLinksIfOwnerMatch**\
Restricted version of “FollowSymLinks”. Allows referencing objects via symbolic links only if the owner matches.
* **Exec-CGI**\
Permit CGI execution.
* **Multiviews**\
Allows you to enable or disable dynamic documents based on language.
***
* **Additional parameters for \ directive**
* **Directory Index**\
Specify which file Apache should serve when no filename is given in a URL. By default, this is either index.html or index.php.
* **Additional Parameters for \ directive**\
These directives go directly into the httpd.conf file.
* **Server admin**\
The email address to which Apache will send error messages.
Caution
Watch out for typos — they will prevent Apache from starting up.
***
* **httpd.conf file**
You cannot edit your httpd.conf file directly in MAMP PRO. You will need to make custom configurations through your httpd.conf template file. More information on how to [configure your httpd template file](../../../Menu/File#edit_templates) can be found in our Menu › File section.
# Cloud
> Cloud
Hosts can be backed up to and restored from the cloud. MAMP PRO stores both your document root folder and database data. Your data for each individual host is stored in a single zip file in your Dropbox. It is not necessary to install the Dropbox software to use this feature — all you need is a Dropbox account login through the MAMP PRO interface [Cloud Settings](../../Cloud/).
If you have a data-driven host, you must associate the database with the host before saving it to the cloud. Associating a host with a database can be done in the [Databases tab](../Databases/). Hosts that use Extras or the WordPress host install will automatically have their databases associated with the host.

***
* **Last Save to Cloud**
The date when you last saved to the cloud.
* **Last Load from Cloud**
The date you last loaded from the cloud.
* **Cloud Space Used**
Your available cloud space from your cloud provider.
***
## Cloud Features
[Section titled “Cloud Features”](#cloud-features)
* **Save to Cloud**
When saving to the cloud, MAMP PRO archives the data from the host’s document root folder and the data from the MySQL databases and tables mapped to the host into a single zip file and optionally encrypts it with your encryption key. The archive is then transferred to the cloud. If encryption is used, your archive will be saved with an .encryptedzip extension.
* **Loading from the Cloud**
Loading data from the cloud is the reverse process: After loading the archive, it is decrypted if necessary, decompressed, and the data is copied to the host’s document root folder and imported back into MySQL.
* **Delete from Cloud**
Delete cloud data for a host.
* **Resolve Name Change**
You can change the name of your host that is connected to the cloud. When you change the name of your associated host, the new host name must be updated on all other associated machines.
For example, if you change a host name from “MyHost2” to “MyHost3,” your Dropbox will change its stored zip file name from “MyHost2.zip” to “MyHost3.zip”. You will then see the following warning on your other connected computers indicating that the host name has been changed in the cloud.
***
## Desktop Functions
[Section titled “Desktop Functions”](#desktop-functions)
* **Save to Desktop**
This feature saves an archive to your Desktop. This can help you see what will be transferred before sending data to the cloud, or determine how much free space you need in the cloud.
* **Download to Desktop**
This feature will save a decrypted and uncompressed archive to the Desktop. This can be useful if you want to take a look at the data currently stored in the cloud for the selected host.
# Databases
> Databases
The Databases tab shows which databases are associated with each host. You can associate individual databases or tables with a host. Dimmed checkmarks indicate databases and tables that are mapped to a host via an Extra.

***
### New Database
[Section titled “New Database”](#new-database)
Press the ’+’ button to add a new database. Only databases can be added, not individual tables.

* **New Database Name**
This is the name of your MySQL database.
* **Give access to user**
When granting access, you can either use an existing user or create a new one. If you choose to create a new MySQL user, you will need a password for this new MySQL user. This must be entered in the “Use password” text box below. If an existing MySQL user is selected, the “With password” field is disabled and the existing password of this MySQL user is automatically used. If this box is unchecked, the new database will be created by and granted rights to the MySQL “root” user.
* **Use password**
The password of your MySQL user. When a new MySQL user is created, a password is required to proceed. This field is disabled if an existing MySQL database user is selected to create the database.
# Extras
> Extras
With MAMP PRO Extras you can install a content management system in just a few clicks.
Note
We may add or remove extras from time to time.

The Extras panel shows the name of the extra and the PHP language version compatibility.
* [WordPress](WordPress/)
* [Joomla](Joomla/)
* [Drupal](Drupal/)
* [Mediawiki](Mediawiki/)
* [phpBB](phpBB/)
* [webEdition](webEdition/)
**Notes:**
* The availability of an Extra depends on your host’s PHP version, internet connection, cached Extras, and available disk space. To add an Extra, click the plus button at the bottom left of the Extras panel. The plus button will have a red circle around it if no Extras are installed.
* Your Extra may require additional configuration if you change the MySQL port after installation. See the configuration section for each Extra for more details.
# Drupal
> Drupal
Drupal is content management software. It’s used to make many of the websites and applications you use every day. More information about Drupal can be found at [drupal.org](https://www.drupal.org).

* Name of the site
The name of your site.
* Email address
Your email address.\
**Note:** You must enter a valid email address to set up a Drupal installation.
* Directory
The installation directory. If left blank, the Drupal files will be copied directly to the document root folder.\
**Note:** Do not install over a previous installation of Drupal! Files will be overwritten without warning.
* Table Prefix
The table prefix for your site.
* Database name
Set the name of your database schema, which will be added to your local database. After installation, you can view this database for this Drupal instance using phpMyAdmin or MySQL Workbench.
* User name
The Drupal admin's user name.\
**Note:** You will need this user name to log in to your new Drupal site — please write it down.
* Password
The Drupal admin's default password.\
**Note:** You will need this password to log in to your new Drupal site, please write this down.
# Joomla
> Joomla
Joomla is a free open source content management system. More information about Joomla can be found at [joomla.org](https://www.joomla.org).
Joomla installations can share a single MySQL database if you specify a unique table prefix during installation. To use an existing database, enter the database name and a unique table prefix. To create a new database, use a unique database name. The table prefix cannot be blank.

* Site name
The name of your site.
* Email address
Your email address.\
**Note:** You must enter a valid email address to set up a Joomla installation.
* Directory
The installation directory. If left blank, the Joomla files will be copied directly to the document root folder.\
**Note:** Do not install over a previous Joomla installation. Files will be overwritten without warning.
* Table prefix
Specify the name of your database schema prefix. Joomla offers the ability to manage multiple websites using a single database schema.
* Database name
Enter the name of your database schema, which will be added to your local database. After installation, you can view this database for this instance of Joomla using phpMyAdmin or MySQL Workbench.
* User name
The name of the Joomla admin.\
**Note:** You will need this username to log in to your new Joomla site, please write it down.
* Password
The default password of the Joomla admin.\
**Note:** You will need this password to log in to your new Joomla site, please write it down.
***
## Configuration
[Section titled “Configuration”](#configuration)
Your Joomla Extra is configured via the configuration.php file in the document root folder. If you change the database port after installation, you will also need to update the port number in the `$host` variable.
# MediaWiki
> MediaWiki
MediaWiki is a free software open source wiki package written in PHP, originally for use on Wikipedia. It is now also used by several other projects of the non-profit Wikimedia Foundation and by many other wikis. You can find more information about MediaWiki at [mediawiki.org](https://www.mediawiki.org).

* Name of Wiki
Give your Wiki a descriptive name.
* Email address
Your email address.\
**Note:** You must enter a valid email address to set up a MediaWiki installation.
* Directory
The installation directory. If left blank, the MediaWiki files will be copied directly to the document root folder. If you provide a name, a subdirectory will be created and your MediaWiki files will be placed in this directory.\
**Note:** Do not install over a previous installation of MediaWiki! Files will be overwritten without warning.
* Table prefix
MediaWiki can use a table prefix to manage multiple wikis in a single database.
* Database name
Set the name of your database schema, which will be added to your local database. After installation, you can view this database using phpMyAdmin or MySQL Workbench.
* User name
Use this user name to log in to the admin area of your MediaWiki installation.\
**Note:** You will need this user name to log in to your new MediaWiki installation — please write it down.
* Password
Use this password to log in to the admin area of your MediaWiki installation.\
**Note:** You will need this password to log in to your new MediaWiki installation — please write it down.
# phpBB
> phpBB
phpBB is an internet forum package written in the PHP scripting language. More information about phpBB can be found at [phpbb.com](https://www.phpbb.com).

* Email address
Your email address. Your phpBB installation will send error messages to this email address.\
**Note:** You must enter a valid email address to set up a phpBB installation.
* Directory
The installation directory. If left blank, the phpBB files will be copied directly to the document root folder. If you specify a name, a subdirectory will be created and your phpBB files will be placed in that directory.\
**Note:** Do not install over a previous installation of phpBB! Files will be overwritten without warning.
* Table Prefix
phpBB can use a table prefix to manage multiple forums in a single database.
* Database name
Specify the name of your database schema, which will be added to your local database. After installation, you can view this database using phpMyAdmin or MySQL Workbench.
* User name
The phpBB admin username. Use it to log in to the admin area of your phpBB installation.\
**Note:** You will need this username to log in to your new phpBB installation, please write it down.
* Password
The default password for phpBB admins. Use this password to log in to the control panel of your phpBB installation.\
**Note:** You will need this password to log in to your new phpBB installation, please write it down.
# webEdition
> webEdition
webEdition is an open source web application framework and content management system. webEdition will always be installed in a folder called webEdition inside the document root folder. More information about webEdition can be found on the [webEdition website](https://www.webedition.org).

* Email address
Your email address.\
**Note:** You must enter a valid email address to set up a webEdition installation.
* Table prefix
Set the name of your database schema prefix. webEdition offers the ability to manage multiple websites using a single database schema.
* Database name
Set the name of your database schema, which will be added to your local database. After installation, you can view this database for this instance of webEdition using phpMyAdmin or MySQL Workbench.
* User name
The webEdition admin.\
**Note:** You will need this user name to log in to your new webEdition site, please write this down.
* Password
The webEdition admin's default password.\
**Note:** You will need this password to log in to your new webEdition site, please write this down.
* Directory
webEdition will be installed in a subdirectory of your document root named webEdition.
# WordPress
> WordPress
WordPress is a free and open source content management system built on PHP and MySQL. More information about WordPress can be found at [wordpress.org](https://www.wordpress.org). You can find more information about your WordPress installation in the WordPress [documentation](https://codex.wordpress.org/Main_Page).
Caution
When WordPress is installed, the hostname and Apache port number are stored in the database. Changing the Apache port after installation will break your WordPress installation. Port migration tools are available for WordPress. It is generally recommended to create WordPress hosts using Apache port 80.

* Blog Name
The name of your blog.
* Email address
Your email address.\
**Note:** You must enter a valid email address to set up a WordPress installation.
* Directory
The installation directory. If left blank, the WordPress files will be copied directly to the document root folder.\
**Note:** Do not install over a previous installation of WordPress! Files will be overwritten without warning.
* Table prefix
Specify the name of your database schema prefix. WordPress provides the ability to manage multiple websites using a single database schema.
* Database name
Enter the name of your database schema, which will be added to your local database. After installation, you can view this database for this instance of WordPress using phpMyAdmin or MySQL Workbench.
* User name
The username of the WordPress admin.\
**Note:** You will need this username to log in to your new WordPress site, please write it down.
* Password
The default password of the WordPress admin.\
**Note:** You will need this password to log in to your new WordPress site, please write it down.
# General
> General
MAMP PRO uses virtual hosts to allow your web servers to serve different websites. The “localhost” virtual host is created by default and cannot be deleted. You can add an unlimited number of hosts, allowing you to create one host per project. Each host can have its own directory to store html, PHP files and images. This directory is called the Document Root.
The host name (server name) must be unique. It is often convenient to use a reverse domain naming scheme for easy identification (e.g. info.mamp.development instead of development.mamp.info). The non-reversed name may conflict with an existing external domain name.
To create a new host, press the “Plus” button in the lower left corner of the hosts table.

* **Host Name**
The server name and port number must be unique within MAMP PRO. The host name can only contain letters and/or numbers and dashes (”-”), but cannot begin or end with a ”-” character. Names are not case sensitive (upper and lower case are not distinguished).
* **Document root**
The location of a virtual host’s documents (HTML/PHP files, etc.) is called the document root. The document root is also known as the web root folder. MAMP PRO will automatically add an index.php file and a MAMP image to this location when your web server is restarted if the folder is empty.
***
* **Create a database named**
You may optionally create a MySQL database. Most content management systems require a database, and you can conveniently add one here.
* **Copy the contents of a template folder to the document root**
You can optionally add the contents of a templates folder. You may use the same template, js, and css files/folders in every site you develop. Use this option to copy the contents of your template folder to your new document root folder.
***

* **Hosts Table**
The hosts table has five columns. The first column contains your host name. The second column indicates which web server is hosting the file.
The third column indicates whether the host is active. If left unchecked, the host will not be active and cannot be viewed in a web browser.
The fourth column contains the PHP version used by the host. The fifth column will display an icon of the Extra installed if an Extra is installed.
***
[]()
* **Hostname**\
The server name and port number in combination must be unique within MAMP PRO. The host name may only contain letters and/or numbers, as well as dashes (”-”); but it may not begin or end with a ”-” character. Names are not case-sensitive.
If the servers are running you can use the Open button to open a host in your web browser.
* **IP address**\
If this field is left empty or contains an `*` the web server will use one of the computer’s IP addresses to access this host. If you want to choose which of the IP addresses should be associated with a host, then select it from the pop up menu.
* **Port number**\
Determine which port the virtual host is accessible on. Valid values are from 1 to 65535. In most cases the preset value does not need to be changed.
[]()
* **PHP Version**\
Determine which version of PHP a host will use. This can only be set when “Individual PHP version for every host (CGI)” is selected in the PHP section of MAMP PRO.
If you select the default PHP version MAMP PRO will automatically adapt this setting if you choose a new default version in the PHP tab. Use a fixed setting to tell MAMP PRO not to alter the PHP version.

Sounds complicated? Let’s take a look at an example: The default version is set to 5.5.9. You have `oneHost` set to PHP version “Default (5.5.9)”, `anotherHost` set to “5.5.9” and `yetAnotherHost` set to “5.3.28”. If you set the PHP version in the PHP section to “5.4.25”, MAMP PRO will adapt the PHP version of oneHost to this version (it is set to always use the standard version). The other 2 hosts will not be changed.
[]()
* **PHPInfo**

View your PHP configuration by pressing the “i” button to the right of the version name.
* **Dynamic DNS**\
Determines whether this virtual host is accessible from the internet via the Dynamic DNS service.
* **Use with server**\
Determine which web server will be used with your host. An icon next to the server name in the server list will also indicate which web server you chose.
***
[]()
* **Name resolution**\
This determines how your system maps host names to IP addresses.
* **via hosts file**\
The basic mapping mechanism which uses the file `C:\Windows\System32\drivers\etc\hosts`.
* **for “MAMP Viewer” (LAN only)**\
Enable your host to be viewed on the MAMP Viewer.
* **via Xip.io (LAN only)**\
Allow other computers on your local network to access your website. Using the Share button you can send the Xip.io address to other users.
Note
Xip.io addresses only work within your local network. They are temporary and may become invalid when you restart your PC. Also make sure that your router is not blocking Xip.io calls via DNS Rebind protection — if it is, you can deactivate this function, add Xip.io as an exception, or not use the router as your DNS server.
* **Document root**\
The location of the documents (HTML/PHP files etc.) of a virtual host is called a document root.
* **Alias Name**\
Aliases are additional names for your virtual host. The same constraints apply to these additional names as to the host itself. Add aliases with the plus-button.
***
To remove a host, press the “Minus” button at the bottom left of the screen.

* **Delete document root folder**
MAMP PRO will delete your document root folder and all of its contents.
* **Remove the databases of the installed Extras**
If your host is an Extra, MAMP PRO will delete the database that was installed by the Extra.
# Nginx
> Nginx
Nginx options can be set for the virtual host selected in the table. These options are security-related!
Note
You cannot make changes to the Nginx settings unless the host is set to Nginx on the Settings › Hosts › General tab.

* **Directory index**
Determine which file Nginx should serve if no filename is given in a URL. By default, it is either index.html or index.php.
* **AutoIndex**
Enables or disables directory browsing. If there is no index.html, index.php, etc., in the document root, the contents of the folder are displayed when this option is enabled. Without this option, nothing will be displayed or an error message will appear.
***
* **Additional parameters for location:/**
* **try\_files**
* **Custom**
***
* **Access Limits**
* **allow**
Insert access limits here.
* **deny**
Insert access deny limits here.
***
* **Additional parameters for \ directive**
Add additional parameters to the \ directive here.
Caution
Watch out for typos — they will prevent Nginx from starting up.
***
* **nginx.conf File** You cannot directly edit your nginx.conf file in MAMP PRO. You need to make custom configurations through your nginx.conf template file. More information on how to [configure your nginx template file](../../../Menu/File#edit_templates) can be found in our Menu › File section.
# SSL
> SSL
To encrypt traffic between Apache and a web browser, you can use SSL. If you want to secure a production server, you should obtain a certificate file and a certificate key file from a Certificate Authority (CA). You can use a “dummy” certificate for testing SSL functionality.

* **SSL**
Check to enable SSL. After creating or enabling your SSL certificates your sites will now use https.
* **Certificate File**\
Select your certificate file. The directory dialog will only show .crt files.
* **Certificate Key File**\
Select your certificate key file. The directory dialog will only show .key files.
* **Create Self-Signed Certificate…**\
Use “Create self-signed certificate…” if you want to test SSL functionality. Your browser will not recognize this certificate, and you will need to click through warnings when viewing your site in a browser.
***
* **Certificate Chain File (Apache Only)**\
Select your chain file. The directory dialog will only show .key files; if your file has a different extension, you will need to rename it to use the .key extension.
***
* **Only allow connection using TLS protocols**
Activating this option prevents web browsers from using old and insecure SSL protocols to connect to this host. Only connections using TLS 1.2 and TLS 1.3 are accepted; SSLv2, SSLv3, TLS 1.0, and TLS 1.1 are not.
***
* Information on how to make a host both ssl and non-ssl can be found in the [How-To section](/en/MAMP-PRO-Windows/How-Tos/General/SetUpHostHttpHttps/).
* Information on how to redirect a http host to https using the MAMP PRO interface can be found in the [How-To section](/en/MAMP-PRO-Windows/How-Tos/General/RedirectToHttpsMAMPPRO/).
* Information on how to redirect a http host to https using a .htaccess file can be found in the [How-To section](/en/MAMP-PRO-Windows/How-Tos/General/RedirectToHttpsHTaccess/).
# Ports
> Ports
Server programs accessed over the network must be assigned to a specific port. This allows multiple server programs to run on the same machine. Every service has a default port: the Apache web server typically uses port 80, the MySQL database server uses port 3306.
These ports are configurable. The default configuration for MAMP PRO uses ports 8888, 8889 and 8890. This allows the MAMP servers to run alongside other servers installed on your PC. Should ports 8888, 8889 or 8890 be in use by a different application, please change the values accordingly.
If MAMP PRO is stating that another process is running on your Apache/Nginx port, then you can test this using the command line. Type the following into the command prompt, `netstat -na | find "80"`, and then press “Return”. If the port is free, nothing should be returned.

* **Set ports to 80, 81, 443, 7443 and 3306**\
Set the ports to the value commonly used on the internet.
* **Set default MAMP ports**\
Set the ports for Apache, Nginx and MySQL to 8888, 8889 and 8890.
* **Having trouble with blocked ports?**\
MAMP PRO will auto detect free ports to use.
* **Start GroupStart servers at system startup**\
Apache, Nginx, and MySQL are started during OS startup, so the services are available before a user has logged in.
* **Start GroupStart servers at MAMP PRO startup**\
The services will start automatically at startup of MAMP PRO.
* **Stop GroupStart servers at MAMP PRO shutdown**\
The services will be stopped automatically when MAMP PRO shuts down.
* **Delete log files at server startup**\
The log files will be cleared before the services start, so only current entries are present.
# Troubleshooting
> Troubleshooting guides for MAMP PRO for Windows.
[General ](/en/MAMP-PRO-Windows/Troubleshooting/General/)
[MySQL ](/en/MAMP-PRO-Windows/Troubleshooting/Databases/)
[WordPress ](/en/MAMP-PRO-Windows/Troubleshooting/WordPress/)
# MySQL
> MySQL and database troubleshooting for MAMP PRO for Windows.
## My MySQL Server Will Not Start
[Section titled “My MySQL Server Will Not Start”](#my-mysql-server-will-not-start)
### Additional MySQL Process is running
[Section titled “Additional MySQL Process is running”](#additional-mysql-process-is-running)
The most common problem with MySQL Server not starting is another MySQL service running on the same port. To check this:
1. Quit MAMP PRO.
2. Open the Task Manager.
3. Go to the Processes tab.
4. Type “mysqld” into the search field on the top right.
5. Quit every process you find after your search.
6. Restart MAMP PRO.
If MySQL still refuses to start, check the log file for error messages.
# General
> General troubleshooting guides for MAMP PRO for Windows.
* [The last time I opened Extras there was a Content Management System that is now not available.](General1/)
* [My Apache Server will not start?](General2/)
* [When I type http://localhost in my browser it brings me to Google search?](General3/)
* [Changes to my php.ini and/or httpd.conf files are not showing up when I restart MAMP PRO.](General4/)
* [My PHP scripts are timing out](General5/)
* [I cannot see my localhost using the Edge browser](General6/)
# The last time I opened Extras there was a Content Management System that is now not available?
> Why a previously available Extra or Content Management System may no longer appear in MAMP PRO for Windows.
This could be due to several reasons. Please check your Internet connection. If it is not working, MAMP PRO will only show Extras that you have previously installed. An Extra will be missing if the PHP version used by the site does not meet the Extra’s requirements. Make sure you have enough free disk space available. Some Extras can only be installed once per host, e.g. webEdition.
***
← [General](/en/MAMP-PRO-Windows/Troubleshooting/General/)
# My Apache Server will not start?
> My Apache Server will not start?
The most common problem with Apache Server not starting is another Apache service running on the same port. To check this:
1. Quit MAMP PRO.
2. Open the Windows Task Manager.
3. Go to the Processes tab.
4. Type “httpd” into the search field on the top right.
5. Quit every process you find after your search.
6. Restart MAMP PRO.
If Apache still refuses to start, check the log file for error messages.
***
← [General](/en/MAMP-PRO-Windows/Troubleshooting/General/)
# When I type http://localhost in my browser it brings me to Google search?
> When I type http://localhost in my browser it brings me to Google search?
You must include the port number when you type your localhost URL into the browser.
e.g. `http://localhost:8888`
What appears in your browser’s address bar may be shortened to just “localhost” depending on your browser settings.
You can open your localhost or additional sites through the MAMP PRO interface. Select your site and click the “Open” button on the [Sites › General](../../Settings/Hosts/General/#open_host) tab.
***
← [General](/en/MAMP-PRO-Windows/Troubleshooting/General/)
# Changes to my php.ini file and/or my httpd.conf file are not showing up when I restart MAMP PRO.
> Changes to my php.ini file and/or my httpd.conf file are not showing up when I restart MAMP PRO.
You must edit the httpd.conf, nginx.conf, php.ini, and my.cnf files through the [Template Editor](../../Menu/File) provided by MAMP PRO. Go to File › Edit Template to edit template files.
***
← [General](/en/MAMP-PRO-Windows/Troubleshooting/General/)
# My PHP scripts are timing out
> My PHP scripts are timing out
If your PHP scripts are timing out, you may need to adjust one of the following PHP directives in your PHP template file.
```plaintext
max_execution_time = 600 ; Maximum execution time of each script, in secondsmax_input_time = 600 ; Maximum amount of time each script may spend parsing request data
```
When using CGI PHP, you must add this additional variable to your PHP template file to prevent PHP from timing out after 30 seconds.
```plaintext
default_socket_timeout = 600
```
***
← [General](/en/MAMP-PRO-Windows/Troubleshooting/General/)
# I cannot see my localhost using the Edge browser
> I cannot see my localhost using the Edge browser
Microsoft Edge allows localhost access by default but treats “localhost” as an Internet site, so Intranet features such as integrated authentication are disabled. Run the following command in your terminal to access localhost.
`CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"`
More information about localhost and Microsoft Edge can be found at the link below.
***
← [General](/en/MAMP-PRO-Windows/Troubleshooting/General/)
# WordPress
> WordPress troubleshooting guides for MAMP PRO for Windows.
* [I try to open my WordPress site and the web browser says “Cannot connect to server”.](WordPress1/)
* [I am receiving an “Error establishing database connection” error.](WordPress3/)
# My WordPress site shows "Cannot connect to server"
> My WordPress site shows "Cannot connect to server"
Make sure you are using the correct ports for your WordPress site. Confirm that your WordPress site is using the same ports it was originally created with. It is best to create your WordPress site using port 80 and to keep using it consistently.
***
← [WordPress](/en/MAMP-PRO-Windows/Troubleshooting/WordPress/)
# "Error establishing database connection"
> How to fix the "Error establishing database connection" error in WordPress.
Confirm that your DB\_NAME variable in your wp-config.php file corresponds to the database name in your MySQL database. Your wp-config.php file is located in your document root.
define(‘DB\_NAME’, ‘wordpress’);
***
Confirm that your DB\_USER in your wp-config.php file corresponds to your MySQL user name. By default, MAMP PRO uses the MySQL ‘root’ user.
define(‘DB\_USER’, ‘root’);
***
Confirm that your DB\_PASSWORD in your wp-config.php file corresponds to your MySQL database password. By default, MAMP PRO uses ‘root’ as the password for the MySQL ‘root’ user. Your password can be changed on the MySQL tab.
define(‘DB\_PASSWORD’, ‘root’);
***
Confirm that your DB\_HOST includes the MySQL port number.
define (‘DB\_HOST’,‘localhost:8889’);
or
define(‘DB\_HOST’,‘127.0.0.1:8889’);
***
← [WordPress](/en/MAMP-PRO-Windows/Troubleshooting/WordPress/)
# WebStart
> WebStart
The default MAMP PRO WebStart page provides links to access utilities such as phpMyAdmin, phpInfo, SQLite Manager, phpLiteAdmin, FAQ, and the MAMP Website.
***
## PHPInfo
[Section titled “PHPInfo”](#phpinfo)
PHPInfo provides general information about your PHP interpreter, including which extensions are loaded.
The location of your php.ini file can be found through phpInfo. The php.ini file cannot be modified directly — changes must be made through the [template file](../Menu/File).
To access the [phpInfo of each individual host](../Settings/Hosts/General/#php_info_access_button) see the Settings › Hosts › General section.
***
## Tools
[Section titled “Tools”](#tools)
* **phpMyAdmin**
phpMyAdmin is a web based database administration tool. Your MAMP PRO instance of phpMyAdmin can be accessed through a link in the WebStart page. The source files for this instance of phpMyAdmin are located at `C:\Users\Public\Documents\Appsolute\MAMPPRO\phpmyadmin`.
* **SQLite Manager**\
A link to your SQLite Manager.
* **phpLiteAdmin**\
phpLiteAdmin is a web-based SQLite database administration tool written in PHP with support for SQLite3 and SQLite2.
* **OPCache**\
[OPcache](http://php.net/manual/en/book.opcache.php) improves PHP performance by storing precompiled script bytecode in shared memory, eliminating the need for PHP to load and parse scripts on every request.
***
## Examples
[Section titled “Examples”](#examples)
Several examples show how to connect to the MySQL database using [PHP](../Languages/PHP/), [Python](../Languages/Python/), [Perl](../Languages/Perl/), and [Ruby](../Languages/Ruby/).
# About MAMP for Windows
> MAMP is a one-click solution for setting up your personal web server on Windows.
MAMP is a one-click solution for setting up your personal web server. MAMP installs a local server environment on your Windows computer in seconds.

# FAQ
> Frequently asked questions about MAMP for Windows – installation, configuration, and troubleshooting.
## Is MAMP compatible with Windows 10 and Windows 11?
[Section titled “Is MAMP compatible with Windows 10 and Windows 11?”](#is-mamp-compatible-with-windows-10-and-windows-11)
Yes, MAMP is compatible with Windows 10 and Windows 11.
***
## What does MAMP stand for?
[Section titled “What does MAMP stand for?”](#what-does-mamp-stand-for)
The abbreviation “MAMP” stands for: Windows – Apache – MySQL – PHP.
***
## Where can I download MAMP?
[Section titled “Where can I download MAMP?”](#where-can-i-download-mamp)
Get the latest version of MAMP from [www.mamp.info/en/downloads/](https://www.mamp.info/en/downloads/).
***
## Where can I find error log files?
[Section titled “Where can I find error log files?”](#where-can-i-find-error-log-files)
All log files are stored in `C:\MAMP\logs`.
***
## Which Apache modules are included?
[Section titled “Which Apache modules are included?”](#which-apache-modules-are-included)
Apache modules are located in the `C:\MAMP\Library\modules` folder.
***
## Which PHP modules are included?
[Section titled “Which PHP modules are included?”](#which-php-modules-are-included)
To find out which PHP modules are included, use the following procedure:
Start the servers and direct your web browser to `http://localhost:8888/MAMP/`. Click on the **phpInfo** tab at the top of the page.
***
## Where is my database data located?
[Section titled “Where is my database data located?”](#where-is-my-database-data-located)
Your database data is located in `C:\MAMP\db\mysql\`.
***
## Where is my php.ini file located?
[Section titled “Where is my php.ini file located?”](#where-is-my-phpini-file-located)
Your php.ini for MAMP is located in `C:\MAMP\conf\phpX.XX\php.ini`.
***
## Where is my httpd.conf file located?
[Section titled “Where is my httpd.conf file located?”](#where-is-my-httpdconf-file-located)
Your httpd.conf file is located in `C:\MAMP\conf\apache\httpd.conf`.
***
## How do I transfer the content to a new computer?
[Section titled “How do I transfer the content to a new computer?”](#how-do-i-transfer-the-content-to-a-new-computer)
To move the contents of your previous MAMP installation to a new computer:
1. Install MAMP on the new computer.
2. Copy the contents of the document root folder from your previous computer to the document root folder on the new computer.
3. Create a dump of your MySQL database with phpMyAdmin.
4. Copy the dump to the new computer and import it using phpMyAdmin.
# First Steps
> How to start MAMP for Windows and access your local web server for the first time.
Once the installation is complete, you are ready to start your local servers. Launch MAMP and click the **Launch Servers** button. The status bar in the upper right corner shows the startup status of the servers.
By default, the web server (Apache) starts on port 8888 and the database server (MySQL) starts on port 8889. When you visit your website in a web browser, you need to add the Apache port at the end of the URL, e.g.: `http://localhost:8888`
A quick-start guide for installing WordPress is available in the [How Tos](/en/MAMP-Windows/How-Tos/) section.

# How Tos
> Step-by-step guides for installing WordPress, Joomla, and Drupal with MAMP for Windows.
[How to install WordPress ](/en/MAMP-Windows/How-Tos/WordPress/)
[How to install Joomla ](/en/MAMP-Windows/How-Tos/Joomla/)
[How to install Drupal ](/en/MAMP-Windows/How-Tos/Drupal/)
# How to install Drupal
> Step-by-step guide to installing Drupal with MAMP for Windows.
## Download Drupal and set up document root
[Section titled “Download Drupal and set up document root”](#download-drupal-and-set-up-document-root)
Download Drupal from [drupal.org](https://drupal.org). After downloading, the resulting zip file should be in your `C:\Downloads` folder. Unzip this drupal.zip file – you should now see a `C:\Downloads\Drupal` folder. Move the contents of this folder to `C:\MAMP\htdocs`.
## Create database
[Section titled “Create database”](#create-database)
Click on Open Start Page, then on the phpMyAdmin link. Create a database in phpMyAdmin and call it “drupal”.

## Run Drupal installation
[Section titled “Run Drupal installation”](#run-drupal-installation)
Go to Open Start Page, click on **My Website** on the top menu bar – you should now see the Drupal installation process begin.

The following fields are the default for the MAMP MySQL installation: username “root”, password “root”, database host “localhost”, port 8889.

Complete the Drupal installation process. The “admin” user is the administrator for this Drupal site. You can use an administrative username other than “admin”.

# How to install Joomla
> Step-by-step guide to installing Joomla with MAMP for Windows.
## Download Joomla and set up document root
[Section titled “Download Joomla and set up document root”](#download-joomla-and-set-up-document-root)
Download Joomla from [joomla.org](https://joomla.org). After downloading, the resulting zip file should be in your `C:\Downloads` folder. Unzip this joomla.zip file – you should now see a `C:\Downloads\Joomla` folder. Move the contents of this folder to `C:\MAMP\htdocs`.
## Create database
[Section titled “Create database”](#create-database)
Click on Open Start Page, then on the phpMyAdmin link. Create a database in phpMyAdmin and call it “joomla”.

## Run Joomla installation
[Section titled “Run Joomla installation”](#run-joomla-installation)
Go to Open Start Page, click on **My Website** on the top menu bar – you should now see the Joomla installation process begin.

The “admin” is the administrator for this Joomla site. You can use a different user name for the administrator.

Complete the Joomla installation process. The following fields are the default for the MAMP MySQL installation: username “root”, password “root”, database host “localhost:8889”.

# How to install WordPress
> Step-by-step guide to installing WordPress with MAMP for Windows.
## Download WordPress and set up document root
[Section titled “Download WordPress and set up document root”](#download-wordpress-and-set-up-document-root)
First, download WordPress from [wordpress.org](https://wordpress.org). After downloading, the resulting zip file should be in your `C:\Downloads` folder. Unzip this WordPress.zip file – you should now see a `C:\Downloads\WordPress` folder. Move the contents of that folder to `C:\MAMP\htdocs`.
## Create database
[Section titled “Create database”](#create-database)
Click on Open Start Page, then on the phpMyAdmin link. Create a database in phpMyAdmin and name it “wordpress”.

## Run WordPress installation
[Section titled “Run WordPress installation”](#run-wordpress-installation)
Go to Open Start Page, click on **My Website** in the top menu bar – you should now see the WordPress installation process begin.

The following fields are the default for the MAMP MySQL installation: username “root”, password “root”, database host “localhost:8889” (use only “localhost” if your MySQL port is 3306).

Complete the WordPress installation process. The “admin” is your WordPress administrator. You can use a different user name for the administrator.

# Installation
> How to install MAMP on Windows – system requirements, new installation, and upgrade instructions.
## Installation Requirements
[Section titled “Installation Requirements”](#installation-requirements)
To use MAMP, your system must meet the following requirements:
* Microsoft Windows 10 or later (32-bit or 64-bit)
* 1 GB RAM
* .NET Framework 4.0
## New Installation
[Section titled “New Installation”](#new-installation)
1. Download MAMP from [www.mamp.info](https://www.mamp.info).
2. Double-click `MAMP-MAMP-PRO-5.x.x.exe` in your Downloads folder.
3. The Windows Installer guides you through the installation process.
MAMP can be installed on any standard Windows drive (C:, D:, E:, etc.). We recommend the default directory `C:\MAMP`. **Do not install MAMP in a system folder** (Program Files, Windows, User, etc.) – the MAMP servers require write permissions for `log`, `conf`, `htdocs`, and `db` directories that Windows cannot grant in system folders.
The installer creates both a `C:\MAMP PRO` folder and a `C:\MAMP` folder. If you do not want to use MAMP PRO, you can ignore the `C:\MAMP PRO` folder.
## Upgrade from MAMP 4
[Section titled “Upgrade from MAMP 4”](#upgrade-from-mamp-4)
Make sure you have the latest version of MAMP 4 installed before upgrading to MAMP 5. Before upgrading, back up your database data from `C:\MAMP\db`.
1. Download MAMP from [www.mamp.info](https://www.mamp.info).
2. Double-click `MAMP-MAMP-PRO-5.x.x.exe`.
3. Follow the Windows Installer prompts.
## Uninstall
[Section titled “Uninstall”](#uninstall)
Use **Add/Remove Programs** in the Windows Control Panel to uninstall MAMP. The Windows Uninstaller also removes MAMP PRO.
# Menu
> Overview of the MAMP for Windows menu and its functions.
* Servers
* Start
Start servers.
* Stop
Stop servers.
* Tools
* Check MySQL Databases
Displays a complete list of the schemas and tables in your MySQL database. The database must be running for this function to work.
* Repair MySQL Databases
Runs mysqlcheck, which performs table maintenance.
* Update MySQL Databases
Updates your databases. The server must be shut down to use this feature.
* Help
* MAMP Help
A link to the help section.
# Open WebStart Page
> The default MAMP start page provides links to access utilities such as phpMyAdmin, phpInfo, and the MAMP website.

The default MAMP start page provides links to access utilities such as phpMyAdmin, phpInfo, and the MAMP website.
***
## phpMyAdmin
[Section titled “phpMyAdmin”](#phpmyadmin)

phpMyAdmin is a web-based database administration tool. Use it to add or edit your databases.
***
## phpInfo
[Section titled “phpInfo”](#phpinfo)

The phpInfo page shows information about the configuration of PHP. This configuration can be changed using the php.ini file, which is located in `C:\MAMP\conf\phpX.XX`.
***
## My Website
[Section titled “My Website”](#my-website)
The My Website link points to your localhost. If you are using Apache/Nginx port 8888, you will link to `http://localhost:8888`. If you are using Apache/Nginx port 80, you will link to `http://localhost`.
# Preferences
> MAMP for Windows Preferences – Start/Stop, Ports, PHP, Web Server, and MySQL settings.
[Start/Stop ](/en/MAMP-Windows/Preferences/Start-Stop/)
[Ports ](/en/MAMP-Windows/Preferences/Ports/)
[PHP ](/en/MAMP-Windows/Preferences/PHP/)
[Web Server ](/en/MAMP-Windows/Preferences/Web-Server/)
[MySQL ](/en/MAMP-Windows/Preferences/MySQL/)
# MySQL
> MAMP for Windows MySQL preferences – information about the bundled MySQL database server.

The MySQL database server is a popular database used on production servers. MAMP is installed with MySQL 5.7 or 8.0, depending on the version of MAMP you have installed.
# PHP
> MAMP for Windows PHP preferences – select the PHP version and configure caching.

* Standard Version
Select the PHP version to use. The available PHP versions depend on the version of MAMP you have installed.
* Cache
Caching can speed up the execution of your PHP code. By default, caching is off. OPcache is available with PHP 5.5 and later.
# Ports
> MAMP for Windows Ports preferences – configure Apache, Nginx, and MySQL port numbers.

Server programs that communicate over the network must be assigned to a specific port. This allows multiple server programs to run on a single server machine. Each service has a default port: the Apache web server typically uses port 80, and the MySQL database server uses port 3306.
These ports are configurable. The default configuration for MAMP uses ports 8888 and 8889, as well as 7888. This allows the MAMP servers to run alongside other servers installed on your computer. If ports 7888, 8888, or 8889 are being used by another application, please change the values accordingly.
The button **Set Web & MySQL ports to 80 & 3306** will set the ports to the values commonly used on the Internet. The button **Set MAMP ports to default** will reset the ports for Apache, Nginx, and MySQL to 8888, 7888, and 8889.
If you want MAMP to be accessible over the Internet, make sure the configured ports are open in your firewall.
# Start/Stop
> MAMP for Windows Start/Stop preferences – configure automatic server start and stop behavior.

* Start Servers
The Apache/Nginx and MySQL services are automatically started when you start MAMP.
* Check for MAMP PRO
You will be prompted to start MAMP or MAMP PRO if this option is selected.
* Open Web Start Page
The WebStart page will automatically open when MAMP starts if you select this option. See the [Open WebStart Page](/en/MAMP-Windows/Open-WebStart-Page/) section for more information.
* Stop Servers
The Apache/Nginx and MySQL services are automatically stopped when you stop MAMP.
* My Favorite Link
A link to this address will appear in the top menu of your WebStart page.
# Web Server
> MAMP for Windows Web Server preferences – select Apache or Nginx and configure the document root.

* Web Server
Select either the Apache or Nginx web server.
* Document Root
Select where your HTML/PHP files and images are stored. This directory is called the document root. The default document root in MAMP is `C:\MAMP\htdocs`.