github.com/drud/ddev@v1.21.5-alpha1.0.20230226034409-94fcc4b94453/docs/content/users/configuration/config.md (about) 1 # Config Options 2 3 DDEV configuration is stored in YAML files that come in two flavors: 4 5 1. :octicons-file-directory-16: **Project** `.ddev/config.yaml` settings, with optional [environmental override](#environmental-overrides) variants. 6 2. :octicons-globe-16: **Global** `$HOME/.ddev/global_config.yaml` settings that can apply to all projects. 7 8 Most of these settings take effect when you run [`ddev start`](../usage/commands.md#start). 9 10 ## Managing Configuration 11 12 ### Setting Options 13 14 You can hand-edit the YAML files DDEV creates for you after running [`ddev config`](../usage/commands.md#config), and you can also define most settings with equivalent CLI arguments: 15 16 === "config.yaml" 17 18 ```yaml 19 php_version: "8.1" 20 ``` 21 === "`ddev config`" 22 23 ```shell 24 ddev config --php-version 8.1 25 ``` 26 27 Run `ddev help config` to see all the available config arguments. 28 29 ### Environmental Overrides 30 31 You can override the per-project `config.yaml` with files named `config.*.yaml`, which are gitignored by default and not checked in. 32 33 Many teams use `config.local.yaml` for configuration that’s specific to one environment, and not checked into the team’s default `config.yaml`. You might [enable Mutagen](../install/performance.md#mutagen) or [enable NFS](../install/performance.md#nfs) for the project, for example, just on your machine. Or maybe use a different database type. 34 35 For examples, see the [Extending and Customizing Environments](../extend/customization-extendibility.md#extending-configyaml-with-custom-configyaml-files) page. 36 37 --- 38 39 ## `additional_fqdns` 40 41 An array of [extra fully-qualified domain names](../extend/additional-hostnames.md) to be used for a project. 42 43 | Type | Default | Usage 44 | -- | -- | -- 45 | :octicons-file-directory-16: project | `[]` | 46 47 Example: `additional_fqdns: ["example.com", "sub1.example.com"]` would provide HTTP and HTTPS URLs for `example.com` and `sub1.example.com`. 48 49 !!!warning 50 Take care with `additional_fqdns`; it adds items to your `/etc/hosts` file which can cause confusion. 51 52 ## `additional_hostnames` 53 54 An array of [extra hostnames](../extend/additional-hostnames.md) to be used for a project. 55 56 | Type | Default | Usage 57 | -- | -- | -- 58 | :octicons-file-directory-16: project | `[]` | 59 60 Example: `additional_hostnames: ["somename", "someothername", "*.thirdname"]` would provide HTTP and HTTPS URLs for `somename.ddev.site`, `someothername.ddev.site`, and `one.thirdname.ddev.site` + `two.thirdname.ddev.site`. 61 62 The wildcard (`*`) setting only works if you’re using DNS to resolve hostnames (default) and connected to the internet. 63 64 ## `composer_root` 65 66 The relative path, from the project root, to the directory containing `composer.json`. (This is where all Composer-related commands are executed.) 67 68 | Type | Default | Usage 69 | -- | -- | -- 70 | :octicons-file-directory-16: project | | 71 72 ## `composer_version` 73 74 Composer version for the web container and the [`ddev composer`](../usage/commands.md#composer) command. 75 76 | Type | Default | Usage 77 | -- | -- | -- 78 | :octicons-file-directory-16: project | `2` | Can be `2`, `1`, or empty (`""`) for latest major version at container build time.<br><br>Can also be a minor version like `2.2` for the latest release of that branch, an explicit version like `1.0.22`, or a keyword like `stable`, `preview` or `snapshot`. See Composer documentation. 79 80 ## `database` 81 82 The type and version of the database engine the project should use. 83 84 | Type | Default | Usage 85 | -- | -- | -- 86 | :octicons-file-directory-16: project | MariaDB 10.4 | Can be MariaDB 5.5–10.7, MySQL 5.5–8.0, or PostgreSQL 9–15.<br>See [Database Server Types](../extend/database-types.md) for examples and caveats. 87 88 !!!note 89 DDEV v1.18 and earlier used `mariadb_version` and `mysql_version`, which are now automatically converted to the `database` format. 90 91 ## `dbimage_extra_packages` 92 93 Extra Debian packages for the project’s database container. 94 95 | Type | Default | Usage 96 | -- | -- | -- 97 | :octicons-file-directory-16: project | `[]` | 98 99 Example: `dbimage_extra_packages: ["less"]` will add the `less` package when the database container is built. 100 101 ## `default_container_timeout` 102 103 Seconds DDEV will wait for all containers to become ready. 104 105 | Type | Default | Usage 106 | -- | -- | -- 107 | :octicons-file-directory-16: project | `120` | Can be adjusted to avoid timeouts on slower systems or for huge snapshot restores. 108 109 ## `developer_mode` 110 111 Not currently used. 112 113 | Type | Default | Usage 114 | -- | -- | -- 115 | :octicons-globe-16: global | `false` | Can `true` or `false`. 116 117 ## `disable_http2` 118 119 Whether to disable http/2 listen in `ddev-router`. 120 121 | Type | Default | Usage 122 | -- | -- | -- 123 | :octicons-globe-16: global | `false` | Can be `true` or `false`. 124 125 When `true`, nginx will not listen for http/2, but just use http/1.1 SSL. (Some browsers don’t work well with http/2.) 126 127 ## `disable_settings_management` 128 129 Whether to disable CMS-specific settings file management. 130 131 | Type | Default | Usage 132 | -- | -- | -- 133 | :octicons-file-directory-16: project | `false` | Can be `true` or `false`. 134 135 When `true`, DDEV will not create or update CMS-specific settings files. 136 137 ## `docroot` 138 139 Relative path to the document root containing `index.php` or `index.html`. 140 141 | Type | Default | Usage 142 | -- | -- | -- 143 | :octicons-file-directory-16: project | automatic | DDEV will attempt to detect this and set it for you, otherwise falling back to the current directory. 144 145 ## `fail_on_hook_fail` 146 147 Whether [`ddev start`](../usage/commands.md#start) should be interrupted by a failing [hook](../configuration/hooks.md), on a single project or for all projects if used globally. 148 149 | Type | Default | Usage 150 | -- | -- | -- 151 | :octicons-file-directory-16: project<br>:octicons-globe-16: global | `false` | Can be `true` or `false`. 152 153 ## `hooks` 154 155 DDEV-specific lifecycle [hooks](hooks.md) to be executed. 156 157 | Type | Default | Usage 158 | -- | -- | -- 159 | :octicons-file-directory-16: project | `` | 160 161 ## `host_db_port` 162 163 Port for binding database server to localhost interface. 164 165 | Type | Default | Usage 166 | -- | -- | -- 167 | :octicons-file-directory-16: project | automatic | 168 169 Not commonly used. Can be a specific port number for a fixed database port. If unset, the port will be assigned automatically and change each time [`ddev start`](../usage/commands.md#start) is run. 170 171 Can be a specific port number for a fixed database port, which can be useful for configuration of host-side database clients. (May still be easier to use [`ddev mysql`](../usage/commands.md#mysql), `ddev psql`, `ddev sequelpro`, etc., which handle changing ports automatically, as does the sample command `ddev mysqlworkbench`.) 172 173 ## `host_https_port` 174 175 Specific, persistent HTTPS port for direct binding to localhost interface. 176 177 | Type | Default | Usage 178 | -- | -- | -- 179 | :octicons-file-directory-16: project | automatic | 180 181 Not commonly used. Can be a specific port number for a fixed HTTPS URL. If unset, the port will be assigned automatically and change each time [`ddev start`](../usage/commands.md#start) is run. 182 183 Example: `59001` will have the project always use `https://127.0.0.1:59001` for the localhost URL—used less commonly than the named URL which is better to rely on. 184 185 ## `host_webserver_port` 186 187 Specific, persistent HTTP port for direct binding to localhost interface. 188 189 | Type | Default | Usage 190 | -- | -- | -- 191 | :octicons-file-directory-16: project | automatic | 192 193 Not commonly used. Can be a specific port number for a fixed HTTP URL. If unset, the port will be assigned automatically and change each time [`ddev start`](../usage/commands.md#start) is run. 194 195 Example: `59000` will have the project always use `http://127.0.0.1:59000` for the localhost URL—used less commonly than the named URL which is better to rely on. 196 197 ## `instrumentation_opt_in` 198 199 Whether to allow [instrumentation reporting](../usage/diagnostics.md). 200 201 | Type | Default | Usage 202 | -- | -- | -- 203 | :octicons-globe-16: global | `true` | Can be `true` or `false`. 204 205 When `true`, anonymous usage information is collected via [Segment](https://segment.com). 206 207 ## `internet_detection_timeout_ms` 208 209 Internet detection timeout in milliseconds. 210 211 | Type | Default | Usage 212 | -- | -- | -- 213 | :octicons-globe-16: global | `1000` (1 second) | Can be any integer. 214 215 DDEV must detect whether the internet is working to determine whether to add hostnames to `/etc/hosts`. In rare cases, you may need to increase this value if you have slow but working internet. See [FAQ](../usage/faq.md) and [GitHub issue](https://github.com/drud/ddev/issues/2409#issuecomment-662448025). 216 217 ## `letsencrypt_email` 218 219 Email associated with Let’s Encrypt feature. (Works in conjunction with [`use_letsencrypt`](#use_letsencrypt).) (Not currently compatible with Traefik router.) 220 221 | Type | Default | Usage 222 | -- | -- | -- 223 | :octicons-globe-16: global | `` | 224 225 Set with `ddev config global --letsencrypt-email=me@example.com`. Used with the [casual hosting](../topics/hosting.md) feature. 226 227 ## `mailhog_https_port` 228 229 Port for project’s MailHog HTTPS URL. 230 231 | Type | Default | Usage 232 | -- | -- | -- 233 | :octicons-file-directory-16: project | `8026` | Can be changed to avoid a port conflict. 234 235 ## `mailhog_port` 236 237 Port for project’s MailHog HTTP URL. 238 239 | Type | Default | Usage 240 | -- | -- | -- 241 | :octicons-file-directory-16: project | `8025` | Can be changed to avoid a port conflict. 242 243 ## `mutagen_enabled` 244 245 Whether to enable [Mutagen asynchronous caching](../install/performance.md#mutagen) for all projects. 246 247 | Type | Default | Usage 248 | -- | -- | -- 249 | :octicons-file-directory-16: project<br>:octicons-globe-16: global | `false` | Can be `true` or `false`; only `true` has any effect. 250 251 This overrides NFS mounting as it’s incompatible with NFS. 252 253 ## `name` 254 255 The URL-friendly name DDEV should use to reference the project. 256 257 | Type | Default | Usage 258 | -- | -- | -- 259 | :octicons-file-directory-16: project | enclosing directory name | Must be unique; no two projects can have the same name. It’s best if this matches the directory name. If this option is omitted, the project will take the name of the enclosing directory. 260 261 ## `nfs_mount_enabled` 262 263 Whether to use [NFS](../install/performance.md#nfs) to mount the project into the container for performance. (Mostly superseded by [`mutagen_enabled`](#mutagen_enabled).) 264 265 | Type | Default | Usage 266 | -- | -- | -- 267 | :octicons-file-directory-16: project<br>:octicons-globe-16: global | `false` | Can be `true` or `false`; only `true` has any effect. 268 269 !!!tip "Workstation configuration required!" 270 See the [NFS section](../install/performance.md#nfs) on the Performance page. 271 272 This is typically a global setting. If it’s ever set in both places, the global config will override the project-specific value. 273 274 ## `ngrok_args` 275 276 Extra flags for [configuring ngrok](https://ngrok.com/docs/ngrok-agent/config) when [sharing projects](../topics/sharing.md) with the [`ddev share`](../usage/commands.md#share) command. 277 278 | Type | Default | Usage 279 | -- | -- | -- 280 | :octicons-file-directory-16: project | `` | 281 282 Example: `--basic-auth username:pass1234`. 283 284 ## `no_bind_mounts` 285 286 Whether to not use Docker bind mounts. 287 288 | Type | Default | Usage 289 | -- | -- | -- 290 | :octicons-globe-16: global | `false` | Can `true` or `false`. 291 292 Some Docker environments (like remote Docker) do not allow bind mounts, so when `true` this turns those off, turns on Mutagen, and uses volume copies to do what bind mounts would otherwise do. 293 294 ## `no_project_mount` 295 296 Whether to skip mounting project into web container. 297 298 | Type | Default | Usage 299 | -- | -- | -- 300 | :octicons-file-directory-16: project | `false` | Can be `true` or `false`. 301 302 !!!warning "Advanced users only!" 303 When `true`, project will not be mounted by DDEV into the web container. Enables experimentation with alternate file mounting strategies. 304 305 ## `nodejs_version` 306 307 Node.js version for the web container’s “system” version. 308 309 | Type | Default | Usage 310 | -- | -- | -- 311 | :octicons-file-directory-16: project | current LTS version | Can be `14`, `16`, or `18`. 312 313 `nvm` is also available inside the container and via [`ddev nvm`](../usage/commands.md#nvm), and can be set to any valid version including much older ones. 314 315 ## `omit_containers` 316 317 Containers that should not be loaded automatically for one or more projects. 318 319 | Type | Default | Usage 320 | -- | -- | -- 321 | :octicons-file-directory-16: project<br>:octicons-globe-16: global | `[]` | **For projects**, can include `db`, `dba`, and `ddev-ssh-agent`.<br>**Globally**, can include `dba` and `ddev-ssh-agent` only. 322 323 Example: `omit_containers: [db, dba, ddev-ssh-agent]` starts the project without a `db` container, phpMyAdmin, and SSH agent. Some containers can be omitted globally in `~/.ddev/global_config.yaml` and the result is additive; all containers named in both places will be omitted. 324 325 !!!warning 326 Omitting the `db` container will cause database-dependent DDEV features to be unstable. 327 328 ## `override_config` 329 330 Whether to override config values instead of merging. 331 332 | Type | Default | Usage 333 | -- | -- | -- 334 | :octicons-file-directory-16: project | `false` | Can be `true` or `false`. 335 336 When `true`, the `config.*.yaml` file with the option will have its settings *override* rather than *merge with* others. Allows statements like `nfs_mount_enabled: false` or `additional_hostnames: []` to work. 337 338 See [Extending `config.yaml` with Custom `config.*.yaml` Files](../extend/customization-extendibility.md#extending-configyaml-with-custom-configyaml-files). 339 340 ## `php_version` 341 342 The PHP version the project should use. 343 344 | Type | Default | Usage 345 | -- | -- | -- 346 | :octicons-file-directory-16: project | `8.0` | Can be `5.6`, `7.0`, `7.1`, `7.2`, `7.3`, `7.4`, `8.0`, `8.1`, or `8.2`. 347 348 You can only specify the major version (`7.3`), not a minor version (`7.3.2`), from those explicitly available. 349 350 ## `phpmyadmin_https_port` 351 352 Port for project’s phpMyAdmin HTTPS URL. 353 354 | Type | Default | Usage 355 | -- | -- | -- 356 | :octicons-file-directory-16: project | `8037` | Can be changed to avoid a port conflict. 357 358 ## `phpmyadmin_port` 359 360 Port for project’s phpMyAdmin HTTP URL. 361 362 | Type | Default | Usage 363 | -- | -- | -- 364 | :octicons-file-directory-16: project | `8036` | Can be changed to avoid a port conflict. 365 366 ## `project_tld` 367 368 Default TLD to be used for a project’s domains, or globally for all project domains. 369 370 | Type | Default | Usage 371 | -- | -- | -- 372 | :octicons-file-directory-16: project<br>:octicons-globe-16: global | `ddev.site` | Can be changed to any TLD you’d prefer. 373 374 ## `required_docker_compose_version` 375 376 Specific docker-compose version for download. 377 378 | Type | Default | Usage 379 | -- | -- | -- 380 | :octicons-globe-16: global | | 381 382 If set to `v2.8.0`, for example, it will download and use that version instead of the expected version for docker-compose. 383 384 !!!warning "Troubleshooting Only!" 385 This should only be used in specific cases like troubleshooting. Best avoided otherwise. 386 387 ## `router_bind_all_interfaces` 388 389 Whether to bind `ddev-router`'s ports on all network interfaces. 390 391 | Type | Default | Usage 392 | -- | -- | -- 393 | :octicons-globe-16: global | `false` | Can be `true` or `false`. 394 395 When `true`, `ddev-router` will bind on all network interfaces instead of only `localhost`, exposing DDEV projects to your local network. If you set this to `true`, consider setting `omit_containers: ["dba"]` so phpMyAdmin is not available. 396 397 ## `router_http_port` 398 399 Port for DDEV router’s HTTP traffic. 400 401 | Type | Default | Usage 402 | -- | -- | -- 403 | :octicons-file-directory-16: project | `80` | Usually changed only if there’s a conflicting process using that port. 404 405 See the [Troubleshooting](../usage/troubleshooting.md#web-server-ports-already-occupied) page for more on addressing port conflicts. 406 407 ## `router_https_port` 408 409 Port for DDEV router’s HTTPS traffic. 410 411 | Type | Default | Usage 412 | -- | -- | -- 413 | :octicons-file-directory-16: project | `443` | Usually changed only if there’s a conflicting process using that port. 414 415 See the [Troubleshooting](../usage/troubleshooting.md#web-server-ports-already-occupied) page for more on addressing port conflicts. 416 417 ## `simple-formatting` 418 419 Whether to disable most [`ddev list`](../usage/commands.md#list) and [`ddev describe`](../usage/commands.md#describe) table formatting. 420 421 | Type | Default | Usage 422 | -- | -- | -- 423 | :octicons-globe-16: global | `false` | Can be `true` or `false`. 424 425 When `true`, turns off most table formatting in [`ddev list`](../usage/commands.md#list) and [`ddev describe`](../usage/commands.md#describe) and suppresses colorized text everywhere. 426 427 ## `table-style` 428 429 Style for [`ddev list`](../usage/commands.md#list) and [`ddev describe`](../usage/commands.md#describe). 430 431 | Type | Default | Usage 432 | -- | -- | -- 433 | :octicons-globe-16: global | `default` | Can be `default`, `bold`, and `bright`. 434 435 `bright` is a pleasant, colorful output some people may prefer. 436 437 ## `timezone` 438 439 Timezone for container and PHP configuration. 440 441 | Type | Default | Usage 442 | -- | -- | -- 443 | :octicons-file-directory-16: project | `UTC` | Can be any [valid timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), like `Europe/Dublin` or `MST7MDT`. 444 445 ## `type` 446 447 The DDEV-specific project type. 448 449 | Type | Default | Usage 450 | -- | -- | -- 451 | :octicons-file-directory-16: project | `php` | Can be `backdrop`, `craftcms`, `drupal6`, `drupal7`, `drupal8`, `drupal9`, `drupal10`, `laravel`, `magento`, `magento2`, `php`, `shopware6`, `typo3`, or `wordpress`. 452 453 The `php` type doesn’t attempt [CMS configuration](../../users/quickstart.md) or settings file management and can work with any project. 454 455 ## `upload_dir` 456 457 Path from the project’s docroot to the user-generated files directory targeted by `ddev import-files`. 458 459 | Type | Default | Usage 460 | -- | -- | -- 461 | :octicons-file-directory-16: project | | 462 463 ## `use_dns_when_possible` 464 465 Whether to use DNS instead of editing `/etc/hosts`. 466 467 | Type | Default | Usage 468 | -- | -- | -- 469 | :octicons-file-directory-16: project | `true` | Can be `true` or `false`. 470 471 When `false`, DDEV will always update the `/etc/hosts` file with the project hostname instead of using DNS for name resolution. 472 473 See [Using DDEV Offline](../usage/offline.md). 474 475 ## `use_docker_compose_from_path` 476 477 Whether to use the system-installed docker-compose. You can otherwise use [`required_docker_compose_version`](#required_docker_compose_version) to specify a version for download. 478 479 | Type | Default | Usage 480 | -- | -- | -- 481 | :octicons-globe-16: global | `false` | Can `true` or `false`. 482 483 When `true`, DDEV will use the docker-compose found in on your system’s path instead of using its private, known-good, docker-compose version. 484 485 !!!warning "Troubleshooting Only!" 486 This should only be used in specific cases like troubleshooting. Best avoided otherwise. 487 488 ## `use_hardened_images` 489 490 Whether to use hardened images for internet deployment. 491 492 | Type | Default | Usage 493 | -- | -- | -- 494 | :octicons-globe-16: global | `false` | Can `true` or `false`. 495 496 When `true`, more secure hardened images are used for an internet deployment. These do not include sudo in the web container, and the container is run without elevated privileges. Generally used with the [casual hosting](../topics/hosting.md) feature. 497 498 ## `use_letsencrypt` 499 500 Whether to enable Let’s Encrypt integration. (Works in conjunction with [`letsencrypt_email`](#letsencrypt_email).) (Not currently compatible with Traefik router.) 501 502 | Type | Default | Usage 503 | -- | -- | -- 504 | :octicons-globe-16: global | `false` | Can `true` or `false`. 505 506 May also be set via `ddev config global --use-letsencrypt` or `ddev config global --use-letsencrypt=false`. When `true`, `letsencrypt_email` must also be set and the system must be available on the internet. Used with the [casual hosting](../topics/hosting.md) feature. 507 508 ## `use_traefik` 509 510 Whether to enable the [traefik router](experimental.md#traefik-router). 511 512 | Type | Default | Usage 513 | -- | -- | -- 514 | :octicons-globe-16: global | `false` | Can `true` or `false`. 515 516 May also be set via `ddev config global --use-traefik` or `ddev config global --use-traefik=false`. 517 518 ## `web_environment` 519 520 Additional [custom environment variables](../extend/customization-extendibility.md#providing-custom-environment-variables-to-a-container) for a project’s web container. (Or for all projects if used globally.) 521 522 | Type | Default | Usage 523 | -- | -- | -- 524 | :octicons-file-directory-16: project<br>:octicons-globe-16: global | `[]` | 525 526 ## `web_extra_daemons` 527 528 Additional daemons that should [automatically be started in the web container](../extend/customization-extendibility.md#running-extra-daemons-in-the-web-container). 529 530 | Type | Default | Usage 531 | -- | -- | -- 532 | :octicons-file-directory-16: project | `[]` | 533 534 ## `web_extra_exposed_ports` 535 536 Additional named sets of ports to [expose via `ddev-router`](../extend/customization-extendibility.md#exposing-extra-ports-via-ddev-router). 537 538 | Type | Default | Usage 539 | -- | -- | -- 540 | :octicons-file-directory-16: project | `[]` | 541 542 ## `webimage` 543 544 The Docker image to use for the web server. 545 546 | Type | Default | Usage 547 | -- | -- | -- 548 | :octicons-file-directory-16: project | [`drud/ddev-webserver`](https://hub.docker.com/r/drud/ddev-webserver) | Specify your own image based on [drud/ddev-webserver](https://github.com/drud/ddev/tree/master/containers/ddev-webserver). 549 550 !!!warning "Proceed with caution" 551 It’s unusual to change this, and we don’t recommend it without Docker experience and a good reason. Typically, this means additions to the existing web image using a `.ddev/web-build/Dockerfile.*`. 552 553 ## `webimage_extra_packages` 554 555 Extra Debian packages for the project’s web container. 556 557 | Type | Default | Usage 558 | -- | -- | -- 559 | :octicons-file-directory-16: project | `[]` | 560 561 Example: `webimage_extra_packages: [php-yaml, php-bcmath]` will add the `php-yaml` and `php-bcmath` packages when the web container is built. 562 563 ## `webserver_type` 564 565 Which available [web server type](../extend/customization-extendibility.md#changing-web-server-type) should be used. 566 567 | Type | Default | Usage 568 | -- | -- | -- 569 | :octicons-file-directory-16: project | `nginx-fpm` | Can be `nginx-fpm` or `apache-fpm`. 570 571 To change from the default `nginx-fpm` to `apache-fpm`, for example, you would need to edit your project’s `.ddev/config.yaml` to include the following: 572 573 ```yaml 574 webserver_type: apache-fpm 575 ``` 576 577 Then run the [`ddev restart`](../usage/commands.md#restart) command to have the change take effect. 578 579 ## `working_dir` 580 581 Working directories used by [`ddev exec`](../usage/commands.md#exec) and [`ddev ssh`](../usage/commands.md#ssh). 582 583 | Type | Default | Usage 584 | -- | -- | -- 585 | :octicons-file-directory-16: project | | 586 587 Example: `working_dir: { web: "/var/www", db: "/etc" }` sets the working directories for the `web` and `db` containers. 588 589 ## `wsl2_no_windows_hosts_mgt` 590 591 (WSL2 only) Whether to disable the management and checking of the Windows hosts file. By default, when using WSL2, DDEV manages the system-wide hosts file on the Windows side (normally `C:\Windows\system32\drivers\etc\hosts`) by using `ddev.exe` installed on the *Windows* side. This normally works better for all applications, including browsers and IDEs. However, this behavior can be disabled by setting `wsl_no_windows_hosts_mgt: true`. 592 593 | Type | Default | Usage 594 | -- | -- | -- 595 | :octicons-globe-16: global | `false` | Can `true` or `false`. 596 597 May also be set via `ddev config global --wsl2-no-windows-hosts-mgt` or `ddev config global --wsl2-no-windows-hosts-mgt=false`. 598 599 ## `xdebug_enabled` 600 601 Whether Xdebug should be enabled for [step debugging](../debugging-profiling/step-debugging.md) or [profiling](../debugging-profiling/xdebug-profiling.md). 602 603 | Type | Default | Usage 604 | -- | -- | -- 605 | :octicons-file-directory-16: project | `false` | Please leave this `false` in most cases. Most people use [`ddev xdebug`](../usage/commands.md#xdebug) and `ddev xdebug off` commands. 606 607 ## `xdebug_ide_location` 608 609 Adjust Xdebug listen location for WSL2 or in-container. 610 611 | Type | Default | Usage 612 | -- | -- | -- 613 | :octicons-globe-16: global | `""` | Can be empty (`""`), `"wsl2"`, `"container"`, or an explicit IP address. 614 615 For PhpStorm running inside WSL2 (or JetBrains Gateway), use `"wsl2"`. For in-container like VS Code Language Server, set to `"container"`. It can also be set to an explicit IP address.