Loading...
Loading...
Compare original and translation side by side
composer require drush/drushcomposer require drush/drushddev start # Start project containers
ddev stop # Stop project containers
ddev restart # Restart containers
ddev poweroff # Stop all DDEV projects
ddev delete # Remove project (keeps files)ddev start # Start project containers
ddev stop # Stop project containers
ddev restart # Restart containers
ddev poweroff # Stop all DDEV projects
ddev delete # Remove project (keeps files)ddev drush <cmd> # Run Drush commands
ddev composer <cmd> # Run Composer
ddev php <script> # Run PHP scripts
ddev exec <cmd> # Run any command in web container
ddev ssh # SSH into web containerddev drush <cmd> # Run Drush commands
ddev composer <cmd> # Run Composer
ddev php <script> # Run PHP scripts
ddev exec <cmd> # Run any command in web container
ddev ssh # SSH into web containerddev mysql # MySQL CLI
ddev export-db # Export database
ddev import-db # Import database (--file=dump.sql)
ddev snapshot # Create database snapshot
ddev restore # Restore from snapshotddev mysql # MySQL CLI
ddev export-db # Export database
ddev import-db # Import database (--file=dump.sql)
ddev snapshot # Create database snapshot
ddev restore # Restore from snapshotddev describe # Show project info and URLs
ddev logs # View container logs
ddev launch # Open site in browser
ddev share # Create public URL (ngrok)ddev describe # Show project info and URLs
ddev logs # View container logs
ddev launch # Open site in browser
ddev share # Create public URL (ngrok)name: my-project
type: drupal # Auto-detects Drupal version, or use drupal11/drupal10
docroot: web
php_version: "8.3" # Use 8.3 for Drupal 11, 8.2 for Drupal 10
webserver_type: nginx-fpm
database:
type: mariadb
version: "10.11"name: my-project
type: drupal # Auto-detects Drupal version, or use drupal11/drupal10
docroot: web
php_version: "8.3" # Use 8.3 for Drupal 11, 8.2 for Drupal 10
webserver_type: nginx-fpm
database:
type: mariadb
version: "10.11"undefinedundefinedversion: '3.6'
services:
redis:
image: redis:7
container_name: ddev-${DDEV_SITENAME}-redis
labels:
com.ddev.site-name: ${DDEV_SITENAME}
expose:
- "6379"memory_limit = 512M
upload_max_filesize = 64M
post_max_size = 64Mversion: '3.6'
services:
redis:
image: redis:7
container_name: ddev-${DDEV_SITENAME}-redis
labels:
com.ddev.site-name: ${DDEV_SITENAME}
expose:
- "6379"memory_limit = 512M
upload_max_filesize = 64M
post_max_size = 64Mmkdir my-drupal && cd my-drupal
ddev config --project-type=drupal --docroot=web --php-version=8.3
ddev start
ddev composer create-project drupal/recommended-project:^11
ddev composer require drush/drush
ddev drush site:install --account-name=admin --account-pass=admin -y
ddev launchddev composer create-project.claude/--project-type=drupaldrupal11mkdir my-drupal && cd my-drupal
ddev config --project-type=drupal --docroot=web --php-version=8.3
ddev start
ddev composer create-project drupal/recommended-project:^11
ddev composer require drush/drush
ddev drush site:install --account-name=admin --account-pass=admin -y
ddev launchddev composer create-project.claude/--project-type=drupaldrupal11mkdir my-drupal && cd my-drupal
ddev config --project-type=drupal --docroot=web --php-version=8.2
ddev start
ddev composer create-project drupal/recommended-project:^10
ddev composer require drush/drush
ddev drush site:install --account-name=admin --account-pass=admin -y
ddev launchmkdir my-drupal && cd my-drupal
ddev config --project-type=drupal --docroot=web --php-version=8.2
ddev start
ddev composer create-project drupal/recommended-project:^10
ddev composer require drush/drush
ddev drush site:install --account-name=admin --account-pass=admin -y
ddev launchcd existing-project
ddev config --project-type=drupal --docroot=web
ddev start
ddev composer install
ddev import-db --file=database.sql.gz
ddev drush crcd existing-project
ddev config --project-type=drupal --docroot=web
ddev start
ddev composer install
ddev import-db --file=database.sql.gz
ddev drush crddev composer create-projectundefinedddev composer create-projectundefined
**Port conflicts:**
```bash
ddev poweroff
**端口冲突:**
```bash
ddev poweroff
**Container issues:**
```bash
ddev restart
ddev debug refresh # Rebuild containers
ddev delete && ddev start # Nuclear optiondb127.0.0.1:PORTddev describeddev exec chown -R $(id -u):$(id -g) .
**容器问题:**
```bash
ddev restart
ddev debug refresh # Rebuild containers
ddev delete && ddev start # Nuclear optiondb127.0.0.1:PORTddev describeddev exec chown -R $(id -u):$(id -g) .ddev debug capabilities # Show DDEV capabilities
ddev debug router # Show router status
ddev logs -f # Follow logs
ddev exec env # Show environment variablesddev debug capabilities # Show DDEV capabilities
ddev debug router # Show router status
ddev logs -f # Follow logs
ddev exec env # Show environment variablesundefinedundefined
Then: `ddev pull platform`
然后运行:`ddev pull platform`ddev xdebug on # Enable step debugging
ddev xdebug off # Disable (faster performance)
ddev xdebug status # Check current stateddev xdebug on # Enable step debugging
ddev xdebug off # Disable (faster performance)
ddev xdebug status # Check current state// .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}"
}
}
]
}<project>.ddev.site/var/www/html// .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/html": "${workspaceFolder}"
}
}
]
}<project>.ddev.site/var/www/htmlundefinedundefined
Modes: `debug` (step debugging), `develop` (enhanced errors), `coverage` (code coverage), `profile` (profiling)
模式:`debug`(单步调试)、`develop`(增强错误信息)、`coverage`(代码覆盖率)、`profile`(性能分析)undefinedundefined
Drupal settings.php:
```php
$settings['redis.connection']['host'] = 'redis';
$settings['redis.connection']['port'] = 6379;
$settings['cache']['default'] = 'cache.backend.redis';
Drupal settings.php:
```php
$settings['redis.connection']['host'] = 'redis';
$settings['redis.connection']['port'] = 6379;
$settings['cache']['default'] = 'cache.backend.redis';undefinedundefined
Access Solr: `ddev describe` shows URL, typically `https://<project>.ddev.site:8983`
访问 Solr:`ddev describe` 会显示 URL,通常为 `https://<project>.ddev.site:8983`undefinedundefinedundefinedundefinedddev launch -m # Open Mailpit UIhttps://<project>.ddev.site:8026ddev launch -m # Open Mailpit UIhttps://<project>.ddev.site:8026undefinedundefined
**When to use Mutagen:**
- macOS with large codebases (vendor, node_modules)
- Windows with WSL2
- Projects with slow file I/O
**Mutagen commands:**
```bash
ddev mutagen status # Check sync status
ddev mutagen sync # Force sync
ddev mutagen reset # Reset if issues
**何时使用 Mutagen:**
- 包含大型代码库(vendor、node_modules)的 macOS 项目
- 使用 WSL2 的 Windows 环境
- 文件 I/O 速度较慢的项目
**Mutagen 命令:**
```bash
ddev mutagen status # Check sync status
ddev mutagen sync # Force sync
ddev mutagen reset # Reset if issuesddev config global --nfs-mount-enabledddev config global --nfs-mount-enabled# .ddev/config.yaml
upload_dirs:
- sites/default/files# .ddev/docker-compose.performance.yaml
services:
web:
tmpfs:
- /tmp# .ddev/php/performance.ini
memory_limit = 1024M# .ddev/config.yaml
upload_dirs:
- sites/default/files# .ddev/docker-compose.performance.yaml
services:
web:
tmpfs:
- /tmp# .ddev/php/performance.ini
memory_limit = 1024M.ddev/commands/undefined.ddev/commands/undefined
Make executable: `chmod +x .ddev/commands/web/refresh`
Then run: `ddev refresh`
赋予可执行权限:`chmod +x .ddev/commands/web/refresh`
然后运行:`ddev refresh`.ddev/commands/web/.ddev/commands/host/.ddev/commands/db/.ddev/commands/web/.ddev/commands/host/.ddev/commands/db/undefinedundefined - name: Setup DDEV
uses: ddev/github-action-setup-ddev@v1
- name: Start DDEV
run: ddev start
- name: Install dependencies
run: ddev composer install
- name: Run tests
run: ddev exec ./vendor/bin/phpunitundefined - name: Setup DDEV
uses: ddev/github-action-setup-ddev@v1
- name: Start DDEV
run: ddev start
- name: Install dependencies
run: ddev composer install
- name: Run tests
run: ddev exec ./vendor/bin/phpunitundefinedundefinedundefinedundefinedundefinedddev self-upgrade.ddev.ddev/db_snapshots.ddev/.gitignore.ddev/config.local.yamlddev self-upgrade