Baza znanja

Lokalni razvoj sa zinnector dev

Kako zinnector dev pokreće pravi WordPress na vašem sopstvenom računaru: dva izvršna okruženja (WebAssembly bez Dockera ili nativni PHP u Dockeru), izbor verzije PHP-a i WordPress-a, šta se poslužuje iz vašeg projekta, gde se nalazi izvršno okruženje od 570 MB i šta se dešava na Node 26.

zinnector dev pokreće pravi WordPress na vašem sopstvenom računaru, opslužujući dodatke i teme u vašem projektu, sa verzijom PHP-a koju izaberete. Ovaj članak objašnjava dva okruženja za izvršavanje koja može da koristi, način odabira verzija, šta se odakle opslužuje i gde se okruženje za izvršavanje nalazi na disku — tako da ono što testirate lokalno bude ono što i primenjujete.

Dva okruženja za izvršavanje i zašto su oba stvarna

Playground je podrazumevana opcija. WordPress Playground kompajlira PHP u WebAssembly i pokreće ga unutar okruženja Node, tako da laptop na kojem nije instalirano ništa osim okruženja Node pokreće WordPress za nekoliko sekundi. Dostupna je svaka verzija PHP-a od 5.2 do 8.5. Ona sadrži mali skup PHP ekstenzija (intl, redis, memcached mereno na trenutnoj verziji), što je dovoljno za većinu poslova sa dodacima i temama.

Docker pokreće nativne kontejnere php-fpm i MariaDB. On je sporiji, zahteva Docker demon i oko 1,2 GB slika, a podržava PHP od 7.4 do 8.5 — ali pokreće izvorni PHP sa potpunim skupom ekstenzija, uključujući imagick i gd. To je iskren odgovor kada ono što treba da testirate jeste ekstenzija koju WebAssembly verzija ne sadrži.

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

Na Docker se nikada ne prelazi automatski i nečujno. Programeru koji misli da koristi WebAssembly, a zapravo koristi Docker, alat koji pokušava da pomogne dao bi pogrešan odgovor, tako da se on mora zatražiti po imenu.

Izbor verzija PHP-a i WordPress-a

zinnector dev --php 8.1 --wp 6.7    # develop against a specific pair
zinnector dev --port 9401           # when 9400 is taken
zinnector dev --no-login            # do not sign in to wp-admin automatically
zinnector dev --verbose             # show the runtime's own output

Podrazumevane vrednosti potiču iz datoteke zinnector.json u projektu — php, wordpress, runtime i port — koju zinnector new upisuje i koju bi trebalo da unesete u sistem za kontrolu verzija, tako da svi u projektu pokreću iste verzije. Opcija u komandnoj liniji ima prednost nad datotekom za to pokretanje.

Verzija koju deklarišete i verzija koja se pokreće jesu različite stvari. zinnector dev --once pokreće okruženje za izvršavanje, štampa ono što ono zapravo prijavljuje — verziju PHP-a, verziju WordPress-a, učitane ekstenzije — i zaustavlja se. zinnector check --probe koristi isto merenje kada upoređuje vaš projekat sa prostorom za hosting.

Šta se opslužuje iz vašeg projekta

Okruženje za izvršavanje direktno montira direktorijume wp-content/plugins, wp-content/themes i wp-content/mu-plugins vašeg projekta, tako da je datoteka koju sačuvate aktivna pri sledećem ponovnom učitavanju. Direktorijumi koji postoje, ali ne sadrže pravi sadržaj, namerno se ne montiraju: prazan direktorijum themes/ montiran preko sopstvenih tema okruženja za izvršavanje ostavio bi WordPress bez ikakve teme, što daje praznu stranicu sa greškom 500 umesto vašeg sajta. Zbog toga skelet zadržava prazne direktorijume sa datotekom .gitkeep i zbog toga oni ne vrše zamenu ničega sve dok u njih ne stavite temu.

Gde se nalazi okruženje za izvršavanje

Okruženje za izvršavanje WordPress-a se preuzima pri prvoj upotrebi umesto da se isporučuje uz CLI — paket koji nosi svaku PHP sknulu verziju ima oko 570 MB, a programer koji samo navodi sajtove ne bi trebalo da troši resurse na njega. Ono se čuva u sopstvenom kešu sistema Zinnector®, ~/.cache/zinnector/runtimes/playground/<version> (ili gde god da pokazuje ZINNECTOR_CACHE_DIR), nikada u vašem projektu, tako da ne može da završi u vašem skladištu ili u stablu koje meri zinnector push. Preuzimanje vrši vaš sopstveni npm, pokrenut kao node npm-cli.js — nikada preko komandne ljuske.

Verzija okruženja za izvršavanje je vezana za verziju CLI-ja, tako da dva programera na jednom projektu pokreću iste PHP kompilacije. zinnector dev --reset-runtime uklanja instalirano okruženje za izvršavanje i ponovo ga instalira, što predstavlja rešenje za okruženje za izvršavanje koje se instaliralo, ali neće da se pokrene.

Na okruženju Node 26 ili novijem

Sam CLI radi na bilo kom okruženju Node od verzije 24 naviše. Ipak, matični modul okruženja za izvršavanje isporučuje unapred napravljene binarne datoteke samo za Node 24 i 25 (od septembra 2026. godine). Umesto da bilo šta kompajlira — što na sistemu Windows znači instaliranje Visual Studio-a — Zinnector® preuzima Node 24 samo za okruženje za izvršavanje, veličine oko 30 MB, verifikovan u odnosu na kontrolne sume koje objavljuje nodejs.org, u isti keš. Upit za instalaciju to naglašava kada se primeni. Ništa u vezi sa vašim sopstvenim okruženjem Node se ne menja.

Povezano

Još uvek ste zaglavljeni?

Podrška je uključena u svaki paket, a odgovori stižu na vašem jeziku.

Kontaktirajte podršku Svi članci