Baza de cunoștințe

Dezvoltare locală cu zinnector dev

Cum rulează zinnector dev un WordPress real pe propria mașină: cele două medii de execuție (WebAssembly fără Docker, sau PHP nativ în Docker), alegerea unei versiuni de PHP și WordPress, ce este servit din proiectul tău, unde se află mediul de execuție de 570 MB și ce se întâmplă pe Node 26.

zinnector dev rulează un WordPress real pe propria mașină, servind pluginurile și temele din proiectul dumneavoastră, cu o versiune de PHP pe care o alegeți. Acest articol explică cele două medii de execuție pe care le poate folosi, cum se aleg versiunile, ce este servit de unde și unde locuiește mediul de execuție pe disc — astfel încât ceea ce testați local să fie ceea ce livrați.

Cele două medii de execuție și motivul pentru care ambele sunt reale

Playground este cel implicit. WordPress Playground compilează PHP în WebAssembly și îl rulează în interiorul Node, astfel încât un laptop fără nimic altceva instalat în afară de Node pornește un WordPress în câteva secunde. Orice versiune de PHP de la 5.2 la 8.5 este disponibilă. Acesta include un set restrâns de extensii PHP (intl, redis, memcached, măsurat pe build-ul curent), ceea ce este suficient pentru majoritatea lucrărilor cu pluginuri și teme.

Docker rulează containere native php-fpm și MariaDB. Este mai lent, necesită un daemon Docker și aproximativ 1,2 GB de imagini și acceptă PHP de la 7.4 la 8.5 — dar rulează un PHP nativ cu setul complet de extensii, inclusiv imagick și gd. Este răspunsul corect atunci când ceea ce trebuie să testați este o extensie pe care build-ul WebAssembly nu o conține.

zinnector dev                       # playground
zinnector dev --runtime docker      # PHP nativ + MariaDB

La Docker nu se apelează niciodată în mod silențios ca rezervă. Un dezvoltator care crede că folosește WebAssembly și de fapt folosește Docker a primit un răspuns greșit de la o unealtă care încearcă să ajute, așa că acesta trebuie solicitat explicit după nume.

Alegerea versiunilor de PHP și WordPress

zinnector dev --php 8.1 --wp 6.7    # dezvoltare pe o pereche specifică
zinnector dev --port 9401           # când portul 9400 este ocupat
zinnector dev --no-login            # fără autentificare automată în wp-admin
zinnector dev --verbose             # afișarea propriei ieșiri a mediului de execuție

Valorile implicite provin din fișierul zinnector.json din proiect — php, wordpress, runtime și port — pe care zinnector new îl scrie și pe care ar trebui să îl introduceți în sistemul de control al versiunilor (commit), astfel încât toți cei implicați în proiect să ruleze aceleași versiuni. Un parametru din linia de comandă are prioritate asupra fișierului pentru acea rulare.

Versiunea pe care o declarați și versiunea care rulează sunt aspecte diferite. zinnector dev --once pornește mediul de execuție, afișează ceea ce raportează efectiv — versiunea PHP, versiunea WordPress, extensiile încărcate — și se oprește. zinnector check --probe folosește aceeași măsurătoare atunci când compară proiectul dumneavoastră cu un spațiu de găzduire.

Ce este servit din proiectul dumneavoastră

Mediul de execuție montează direct directoarele wp-content/plugins, wp-content/themes și wp-content/mu-plugins ale proiectului dumneavoastră, astfel încât un fișier pe care îl salvați este activ la următoarea reîncărcare. Directoarele care există, dar nu conțin conținut real, sunt în mod deliberat nemontate: un director themes/ gol montat peste propriile teme ale mediului de execuție ar lăsa WordPress fără nicio temă, ceea ce generează o eroare 500 goală în loc de site-ul dumneavoastră. Acesta este motivul pentru care structura menține directoare goale cu un .gitkeep și de aceea ele nu umbresc nimic până când nu plasați o temă în ele.

Unde locuiește mediul de execuție

Mediul de execuție WordPress este descărcat la prima utilizare în loc să fie livrat împreună cu CLI-ul — pachetul care conține fiecare build de PHP are aproximativ 570 MB, iar un dezvoltator care doar listează site-uri nu ar trebui să suporte acest cost. Este păstrat în propriul cache al Zinnector®, ~/.cache/zinnector/runtimes/playground/<version> (sau oriunde indică ZINNECTOR_CACHE_DIR), niciodată în proiectul dumneavoastră, astfel încât nu poate ajunge în repository-ul dumneavoastră sau în arborele pe care zinnector push îl măsoară. Descărcarea este efectuată de propriul dumneavoastră npm, rulat ca node npm-cli.js — niciodată printr-un shell.

Versiunea mediului de execuție este fixată la versiunea CLI, astfel încât doi dezvoltatori de pe același proiect rulează aceleași build-uri PHP. zinnector dev --reset-runtime șterge mediul de execuție instalat și îl instalează din nou, aceasta fiind soluția pentru un mediu de execuție care s-a instalat, dar nu pornește.

Pe Node 26 sau o versiune mai nouă

CLI-ul în sine rulează pe orice versiune Node începând cu 24. Cu toate acestea, modulul nativ al mediului de execuție livrează binare precompilate doar pentru Node 24 și 25 (începând cu septembrie 2026). În loc să compileze ceva — ceea ce pe Windows înseamnă instalarea Visual Studio — Zinnector® preia un Node 24 exclusiv pentru mediul de execuție, de aproximativ 30 MB, verificat pe baza sumelor de control publicate de nodejs.org, în același cache. Mesajul de instalare precizează acest lucru atunci când se aplică. Nimic din mediul dumneavoastră Node nu se modifică.

Asemănătoare

Încă blochezi?

Asistența este inclusă în orice plan și oferă răspunsuri în limba ta.

Contactați asistența tehnică Toate articolele