From 7a09edd3bdefda8a04596cc18c4616a79d1617ad Mon Sep 17 00:00:00 2001 From: Aki Hamano Date: Thu, 19 Dec 2024 17:39:34 +0900 Subject: [PATCH] wp-env: Added phpMyAdmin and multisite support to the documentation --- .../getting-started-with-code-contribution.md | 6 ++++ packages/env/README.md | 29 ++++++++++--------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/docs/contributors/code/getting-started-with-code-contribution.md b/docs/contributors/code/getting-started-with-code-contribution.md index df6b305f35983e..2cfe592bc323a8 100644 --- a/docs/contributors/code/getting-started-with-code-contribution.md +++ b/docs/contributors/code/getting-started-with-code-contribution.md @@ -128,6 +128,12 @@ Port: {MYSQL_PORT_NUMBER} **Tip**: [Sequel Ace](https://sequel-ace.com/) is a useful GUI tool for accessing a MySQL database. Other tools are available and documented in this [article on accessing the WordPress database](https://developer.wordpress.org/advanced-administration/before-install/creating-database/). +Alternatively, you can use phpMyAdmin to access the mySQL database. To enable access to phpMyAdmin, add the `WP_ENV_PHPMYADMIN_PORT` environment variable to the command: + +```bash +WP_ENV_PHPMYADMIN_PORT=9000 npm run wp-env start +``` + #### Troubleshooting If you run into an issue, check the [troubleshooting section in `wp-env` documentation](/packages/env/README.md#troubleshooting-common-problems). diff --git a/packages/env/README.md b/packages/env/README.md index af037f5ee80ab6..dd9df5d3039d67 100644 --- a/packages/env/README.md +++ b/packages/env/README.md @@ -479,17 +479,19 @@ You can customize the WordPress installation, plugins and themes that the develo `.wp-env.json` supports fields for options applicable to both the tests and development instances. -| Field | Type | Default | Description | -|----------------|----------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| -| `"core"` | `string\|null` | `null` | The WordPress installation to use. If `null` is specified, `wp-env` will use the latest production release of WordPress. | -| `"phpVersion"` | `string\|null` | `null` | The PHP version to use. If `null` is specified, `wp-env` will use the default version used with production release of WordPress. | -| `"plugins"` | `string[]` | `[]` | A list of plugins to install and activate in the environment. | -| `"themes"` | `string[]` | `[]` | A list of themes to install in the environment. | -| `"port"` | `integer` | `8888` (`8889` for the tests instance) | The primary port number to use for the installation. You'll access the instance through the port: 'http://localhost:8888'. | -| `"testsPort"` | `integer` | `8889` | The port number for the test site. You'll access the instance through the port: 'http://localhost:8889'. | -| `"config"` | `Object` | See below. | Mapping of wp-config.php constants to their desired values. | -| `"mappings"` | `Object` | `"{}"` | Mapping of WordPress directories to local directories to be mounted in the WordPress instance. | -| `"mysqlPort"` | `integer` | `null` (randomly assigned) | The MySQL port number to expose. The setting is only available in the `env.development` and `env.tests` objects. | +| Field | Type | Default | Description | +|--------------------|----------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------| +| `"core"` | `string\|null` | `null` | The WordPress installation to use. If `null` is specified, `wp-env` will use the latest production release of WordPress. | +| `"phpVersion"` | `string\|null` | `null` | The PHP version to use. If `null` is specified, `wp-env` will use the default version used with production release of WordPress. | +| `"plugins"` | `string[]` | `[]` | A list of plugins to install and activate in the environment. | +| `"themes"` | `string[]` | `[]` | A list of themes to install in the environment. | +| `"port"` | `integer` | `8888` (`8889` for the tests instance) | The primary port number to use for the installation. You'll access the instance through the port: 'http://localhost:8888'. | +| `"testsPort"` | `integer` | `8889` | The port number for the test site. You'll access the instance through the port: 'http://localhost:8889'. | +| `"config"` | `Object` | See below. | Mapping of wp-config.php constants to their desired values. | +| `"mappings"` | `Object` | `"{}"` | Mapping of WordPress directories to local directories to be mounted in the WordPress instance. | +| `"mysqlPort"` | `integer` | `null` (randomly assigned) | The MySQL port number to expose. The setting is only available in the `env.development` and `env.tests` objects. | +| `"phpmyadminPort"` | `integer` | `null` | The phpMyAdmin port number to expose. If a non-null number is defined, phpMyAdmin will be exposed. | +| `"multisite"` | `boolean` | `false` | Whether to set up a multisite installation.. | _Note: the port number environment variables (`WP_ENV_PORT` and `WP_ENV_TESTS_PORT`) take precedent over the .wp-env.json values._ @@ -523,7 +525,8 @@ Additionally, the key `env` is available to override any of the above options on "KEY_1": false }, "port": 3000, - "mysqlPort": 13306 + "mysqlPort": 13306, + "phpmyadminPort": 9001 } } } @@ -688,7 +691,7 @@ You can tell `wp-env` to use a custom port number so that your instance does not } ``` -These can also be set via the environment variables `WP_ENV_PORT`, `WP_ENV_TESTS_PORT`, `WP_ENV_MYSQL_PORT` and `WP_ENV_TESTS_MYSQL_PORT`. +These can also be set via the environment variables `WP_ENV_PORT`, `WP_ENV_TESTS_PORT`, `WP_ENV_MYSQL_PORT`, `WP_ENV_TESTS_MYSQL_PORT`, `WP_ENV_PHPMYADMIN_PORT` and `WP_ENV_TESTS_PHPMYADMIN_PORT`. ### Specific PHP Version