DDEV
Docker-alapú lokális WordPress fejlesztői környezet DDEV segítségével.
A DDEV egy nyílt forráskódú, Docker-alapú lokális fejlesztői eszköz PHP projektekhez, beleértve a WordPress-t is. Gyors, megbízható és könnyen konfigurálható.
Miért DDEV?
Szekció neve “Miért DDEV?”- Docker-alapú - Izolált, reprodukálható környezetek
- Gyors - Másodpercek alatt induló konténerek
- Rugalmas - Bármilyen PHP verzió és konfiguráció
- WordPress-barát - Beépített WP-CLI és Composer támogatás
- Multisite támogatás - WordPress Multisite is működik
- Add-on rendszer - Bővíthető funkcionalitás
Telepítés
Szekció neve “Telepítés”macOS
Szekció neve “macOS”# Homebrew-valbrew install ddev/ddev/ddev
# Docker Desktop szükségesbrew install --cask dockerWindows
Szekció neve “Windows”# Chocolatey-velchoco install ddev
# Vagy winget-telwinget install ddevLinux
Szekció neve “Linux”# Hivatalos telepítő scriptcurl -fsSL https://ddev.com/install.sh | bashWordPress projekt létrehozása
Szekció neve “WordPress projekt létrehozása”1. Projekt mappa létrehozása
Szekció neve “1. Projekt mappa létrehozása”mkdir my-wordpress-sitecd my-wordpress-site2. DDEV konfiguráció
Szekció neve “2. DDEV konfiguráció”ddev config --project-type=wordpress3. WordPress letöltése és indítás
Szekció neve “3. WordPress letöltése és indítás”ddev startddev wp core download --locale=hu_HU4. WordPress telepítése
Szekció neve “4. WordPress telepítése”ddev wp core install \ --url='$DDEV_PRIMARY_URL' \ --title='My WordPress Site' \ --admin_user=admin \ --admin_password=admin \Konfiguráció
Szekció neve “Konfiguráció”A .ddev/config.yaml fájl tartalmazza a projekt beállításait:
name: my-wordpress-sitetype: wordpressdocroot: ""php_version: "8.2"webserver_type: nginx-fpmdatabase: type: mariadb version: "10.6"router_http_port: "80"router_https_port: "443"PHP verzió váltás
Szekció neve “PHP verzió váltás”ddev config --php-version=8.3ddev restartElérhető PHP verziók
Szekció neve “Elérhető PHP verziók”| Verzió | Státusz |
|---|---|
| 7.4 | Támogatott |
| 8.0 | Támogatott |
| 8.1 | Támogatott |
| 8.2 | Ajánlott |
| 8.3 | Legújabb |
Adatbázis típus váltás
Szekció neve “Adatbázis típus váltás”# MariaDB-ről MySQL-reddev config --database=mysql:8.0ddev restartAlapvető parancsok
Szekció neve “Alapvető parancsok”Projekt kezelés
Szekció neve “Projekt kezelés”# Projekt indításaddev start
# Projekt leállításaddev stop
# Projekt újraindításaddev restart
# Projekt törlése (adatokkal együtt)ddev delete --omit-snapshot
# Projekt állapotddev describeWP-CLI használata
Szekció neve “WP-CLI használata”# Bármilyen WP-CLI parancsddev wp plugin listddev wp theme listddev wp user listddev wp cache flush
# Importálás/exportálásddev wp db export backup.sqlddev wp db import backup.sqlComposer
Szekció neve “Composer”# Composer parancsokddev composer installddev composer require wpackagist-plugin/akismetddev composer updateSSH a konténerbe
Szekció neve “SSH a konténerbe”# Web konténerddev ssh
# Adatbázis konténerddev ssh -s dbAdatbázis kezelés
Szekció neve “Adatbázis kezelés”phpMyAdmin
Szekció neve “phpMyAdmin”# phpMyAdmin indításaddev launch -pAdminer
Szekció neve “Adminer”# Adminer add-on telepítéseddev get ddev/ddev-adminer
# Adminer indításaddev adminerKözvetlen adatbázis kapcsolat
Szekció neve “Közvetlen adatbázis kapcsolat”# MySQL kliensddev mysql
# Adatbázis exportddev export-db > backup.sql
# Adatbázis importddev import-db < backup.sqlAdatbázis kapcsolati adatok
Szekció neve “Adatbázis kapcsolati adatok”Host: db (konténeren belül) / 127.0.0.1 (kívülről)Port: 3306 (konténeren belül) / ddev describe mutatja (kívülről)Database: dbUsername: dbPassword: dbSSL tanúsítványok
Szekció neve “SSL tanúsítványok”DDEV automatikusan kezeli az SSL tanúsítványokat:
# mkcert telepítése (egyszer)mkcert -install
# Ezután minden projekt HTTPS-en érhető el# https://my-wordpress-site.ddev.siteMailhog - Email tesztelés
Szekció neve “Mailhog - Email tesztelés”DDEV beépített Mailhog szolgáltatással rendelkezik:
# Mailhog megnyitásaddev launch -m
# Minden elküldött email itt jelenik meg# https://my-wordpress-site.ddev.site:8026Xdebug beállítása
Szekció neve “Xdebug beállítása”# Xdebug engedélyezéseddev xdebug on
# Xdebug letiltásaddev xdebug off
# Xdebug státuszddev xdebug statusVS Code konfiguráció
Szekció neve “VS Code konfiguráció”.vscode/launch.json:
{ "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003, "pathMappings": { "/var/www/html": "${workspaceFolder}" } } ]}PhpStorm konfiguráció
Szekció neve “PhpStorm konfiguráció”- Preferences > PHP > Servers
- Add server:
my-wordpress-site.ddev.site - Port:
443, Debugger:Xdebug - Use path mappings:
/var/www/html→ projekt mappa
Hasznos Add-on-ok
Szekció neve “Hasznos Add-on-ok”Telepítés
Szekció neve “Telepítés”# Add-on telepítéseddev get <add-on-name>
# Add-on eltávolításaddev get --remove <add-on-name>Népszerű add-on-ok
Szekció neve “Népszerű add-on-ok”| Add-on | Parancs | Funkció |
|---|---|---|
| Redis | ddev get ddev/ddev-redis |
Object cache |
| Elasticsearch | ddev get ddev/ddev-elasticsearch |
Keresés |
| Memcached | ddev get ddev/ddev-memcached |
Cache |
| Adminer | ddev get ddev/ddev-adminer |
DB kezelő |
| phpMyAdmin | ddev get ddev/ddev-phpmyadmin |
DB kezelő |
Redis beállítása WordPress-hez
Szekció neve “Redis beállítása WordPress-hez”# Redis add-onddev get ddev/ddev-redisddev restart
# Redis Object Cache pluginddev wp plugin install redis-cache --activateddev wp redis enableTöbb projekt kezelése
Szekció neve “Több projekt kezelése”# Összes projekt listázásaddev list
# Összes projekt leállításaddev poweroff
# Adott projekt indításaddev start -s my-wordpress-siteMeglévő WordPress importálása
Szekció neve “Meglévő WordPress importálása”1. Fájlok másolása
Szekció neve “1. Fájlok másolása”mkdir existing-sitecd existing-sitecp -r /path/to/wordpress/* .2. DDEV konfiguráció
Szekció neve “2. DDEV konfiguráció”ddev config --project-type=wordpressddev start3. Adatbázis importálása
Szekció neve “3. Adatbázis importálása”ddev import-db < database-backup.sql4. URL-ek frissítése
Szekció neve “4. URL-ek frissítése”ddev wp search-replace 'https://old-domain.com' 'https://existing-site.ddev.site'Egyedi szolgáltatások
Szekció neve “Egyedi szolgáltatások”docker-compose.*.yaml
Szekció neve “docker-compose.*.yaml”Egyedi szolgáltatások a .ddev/ mappában:
.ddev/docker-compose.custom.yaml:
version: '3.6'services: web: environment: - CUSTOM_VAR=valueEgyedi nginx konfiguráció
Szekció neve “Egyedi nginx konfiguráció”.ddev/nginx_full/nginx-site.conf:
server { # Egyedi nginx beállítások client_max_body_size 100M;}Egyedi PHP beállítások
Szekció neve “Egyedi PHP beállítások”.ddev/php/custom.ini:
upload_max_filesize = 100Mpost_max_size = 100Mmemory_limit = 512Mmax_execution_time = 300Hibaelhárítás
Szekció neve “Hibaelhárítás”Port konfliktus
Szekció neve “Port konfliktus”# Ha a portok foglaltakddev config --router-http-port=8080 --router-https-port=8443ddev restartDocker problémák
Szekció neve “Docker problémák”# Docker újraindításaddev poweroff# Indítsd újra a Docker Desktop-otddev startLassú fájlrendszer (macOS)
Szekció neve “Lassú fájlrendszer (macOS)”# Mutagen engedélyezése a gyorsabb szinkronizáláshozddev config --mutagen-enabledddev restartAdatbázis problémák
Szekció neve “Adatbázis problémák”# Adatbázis snapshotddev snapshot
# Snapshot visszaállításaddev snapshot restore
# Adatbázis újraépítéseddev delete --omit-snapshotddev startddev import-db < backup.sqlHasznos tippek
Szekció neve “Hasznos tippek”Gyors megnyitás
Szekció neve “Gyors megnyitás”# Site megnyitása böngészőbenddev launch
# Admin megnyitásaddev launch wp-adminAlias-ok
Szekció neve “Alias-ok”Add hozzá a ~/.bashrc vagy ~/.zshrc fájlhoz:
alias dstart="ddev start"alias dstop="ddev stop"alias dwp="ddev wp"alias dcomposer="ddev composer"Globális konfiguráció
Szekció neve “Globális konfiguráció”~/.ddev/global_config.yaml:
router_http_port: "80"router_https_port: "443"use_letsencrypt: falseletsencrypt_email: ""internet_detection_timeout_ms: 3000disable_http2: falseuse_docker_compose_from_path: falsetable_style: defaultsimple_formatting: false