База знания

Локална разработка с zinnector dev

Как zinnector dev стартира реален WordPress на собствената ви машина: двете среда за изпълнение (WebAssembly без Docker или нативен PHP в Docker), изборът на PHP и WordPress версия, какво се обслужва от вашия проект, къде се намира средата за изпълнение от 570 MB и какво се случва на Node 26.

zinnector dev стартира истински WordPress на вашия собствен компютър, обслужвайки плъгините и темите във вашия проект с избрана от вас версия на PHP. Тази статия описва двете среди за изпълнение, които тя може да използва, как да избирате версии, кое откъде се обслужва и къде се намира средата за изпълнение на диска — така че това, което тествате локално, да е това, което деплойвате.

Двете среди за изпълнение и защо и двете са истински

Playground е настройката по подразбиране. WordPress Playground компилира PHP до WebAssembly и го изпълнява в Node, така че лаптоп без нищо друго инсталирано освен Node зарежда WordPress за секунди. Налична е всяка версия на PHP от 5.2 до 8.5. Тя съдържа малък набор от PHP разширения (intl, redis, memcached, измерени при текущата компилация), което е достатъчно за повечето задачи с плъгини и теми.

Docker стартира нативни php-fpm и MariaDB контейнери. Той е по-бавен, изисква Docker демон и около 1,2 GB образи и поддържа PHP от 7.4 до 8.5, но стартира нативен PHP с пълния набор от разширения, включително imagick и gd. Това е честният отговор, когато това, което трябва да тествате, е разширение, което WebAssembly компилацията не съдържа.

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

Към Docker никога не се превключва автоматично без знанието на потребителя. Разработчик, който мисли, че е на WebAssembly, а всъщност е на Docker, е получил грешен отговор от инструмент, опитващ се да помогне, затова той трябва да бъде изискан по име.

Избиране на версии на PHP и WordPress

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

Настройките по подразбиране идват от zinnector.json в проекта — php, wordpress, runtime и port, които zinnector new записва и които трябва да стъргнете (commit), така че всички в проекта да работят с едни и същи версии. Флаг в командния ред е с предимство пред файла за това изпълнение.

Версията, която декларирате, и версията, която се изпълнява, са различни факти. zinnector dev --once стартира средата за изпълнение, извежда това, което тя реално докладва — PHP версия, WordPress версия, заредени разширения — и спира. zinnector check --probe използва същото измерване, когато сравнява вашия проект с хостинг слот.

Какво се обслужва от вашия проект

Средата за изпълнение монтира директно директориите wp-content/plugins, wp-content/themes и wp-content/mu-plugins на вашия проект, така че файл, който запазите, е активен при следващото презареждане. Директории, които съществуват, но не съдържат реално съдържание, съзнателно не се монтират: празна директория themes/, монтирана върху собствените теми на средата за изпълнение, би оставила WordPress изобщо без тема, което води до празна грешка 500 вместо до вашия сайт. Ето защо скелето запазва празни директории с .gitkeep и защо те не засенчват нищо, докато не поставите тема в тях.

Къде се намира средата за изпълнение

Средата за изпълнение на WordPress се изтегля при първа употреба, вместо да се доставя с CLI — пакетът, който съдържа всяка PHP компилация, е около 570 MB, и разработчик, който само изброява сайтове, не трябва да плаща за него. Тя се съхранява в собствения кеш на Zinnector®, ~/.cache/zinnector/runtimes/playground/<version> (или където сочи ZINNECTOR_CACHE_DIR), никога във вашия проект, така че не може да попадна във вашия репозитори или в дървото, което zinnector push измерва. Изтеглянето се извършва от вашия собствен npm, стартиран като node npm-cli.js — никога през обвивка (shell).

Версията на средата за изпълнение е обвързана с CLI версията, така че двама разработчици по един проект да изпълняват едни и същи PHP компилации. zinnector dev --reset-runtime изхвърля инсталираната среда за изпълнение и я инсталира отново, което е решението за среда за изпълнение, която се е инсталирала, но няма да се зареди.

На Node 26 или по-нов

Самото CLI работи на всяка версия на Node от 24 нагоре. Нативният модул на средата за изпълнение обаче предоставя предварително компилирани двоични файлове само за Node 24 и 25 (към септември 2026 г.). Вместо да компилира каквото и да било — което на Windows означава инсталиране на Visual Studio — Zinnector® извлича Node 24 само за средата за изпълнение, около 30 MB, верифициран спрямо контролните суми, публикувани от nodejs.org, в същия кеш. Подканата за инсталиране указва това при прилагането си. Нищо във вашия собствен Node не се променя.

Свързани

Все още изпитвате затруднения?

Поддръжката е включена във всеки план с отговори на вашия собствен език.

Свържете се с поддръжката Всички статии
Локална разработка с zinnector dev