Use DDEV for local development
DDEV is an open-source tool for local PHP development environments. It allows you use Docker in your workflows while maintaining a GitOps workflow. You get fully containerized environments to run everything locally without having to install tools (including the Platform.sh CLI, PHP, and Composer) on your machine.
This guide assumes you have a project already running with Platform.sh and you have the code on your computer. If you’re starting from scratch, first create a project from a PHP template.
Make sure your computer meets the system requirements for DDEV.
To install DDEV, follow the DDEV documentation for your operating system.
This installs the self-contained
ddev command-line interface (CLI).
For more information on
Get basic configuration set up for your project by running the following command:
If you started with a Drupal template, your repository already had DDEV configuration files. Otherwise, you have to answer a couple of questions about what your repository is so the correct files are added.
Test the configuration by running the following command:
Your project should start running, though without any of the data from your Platform.sh environment.
To connect DDEV with your Platform.sh account, use a Platform.sh API token.
Create an API token in the Console.
Add the token to your DDEV configuration. You can do so globally (easiest for most people):
ddev config global --web-environment-add=PLATFORMSH_CLI_TOKEN=API_TOKEN
You can also add the token only to the project:
ddev config --web-environment-add=PLATFORMSH_CLI_TOKEN=API_TOKEN
Get DDEV to recognize the token by restarting:
Now you can run
ddev exec platform <command> from your computer without needing to install the Platform.sh CLI.
The DDEV docs have up-to-date instructions for connecting DDEV to your project.
To get DDEV connected to your project, you need to tell it which project to use. Use environment variables to set your project ID and environment name:
ddev config --web-environment-add="PLATFORM_PROJECT=PROJECT_ID,PLATFORM_ENVIRONMENT=ENVIRONMENT_NAME"
ddev config --web-environment-add="PLATFORM_PROJECT=nf36mudfdd23bi,PLATFORM_ENVIRONMENT=main"
Get DDEV to recognize the variables by restarting:
To get your environment data (files, database), run the following command:
ddev pull platform
To skip pulling files, add
--skip-files to the command.
To skip pulling a database, add
--skip-db to the command.
If your project has dependencies, you can install them with Composer. Using the DDEV version of Composer means you don’t need to install Composer on your machine. You can also use different Composer versions in different projects based on their DDEV configurations.
Run the following command:
ddev composer install
Now your project is ready to run:
The command returns the project URL
as well as a specific port on
Open one of the URLs to see your project running.
You’ve got a project running on a local web server. Now you can add customizations. For more ideas and options, see the DDEV documentation.
If your project requires environment variables for its hooks or runtime, add them to the project’s DDEV environment:
web_environment: - <VARIABLE_NAME>: <VALUE>
To apply your changes, run the following command: