Znalostní báze

Místní vývoj pomocí zinnector dev

Jak zinnector dev spouští skutečný WordPress na vašem vlastním počítači: dvě runtime prostředí (WebAssembly bez Docker, nebo nativní PHP v Docker), výběr verze PHP a WordPress, co je poskytováno z vašeho projektu, kde se nachází 570 MB runtime prostředí a co se děje na Node 26.

zinnector dev spouští skutečný WordPress na Vašem vlastním počítači, poskytuje pluginy a šablony z Vašeho projektu a používá verzi PHP, kterou si sami zvolíte. Tento článek vysvětluje obě runtime prostředí, která lze použít, jak vybírat verze, co se odkud načítá a kde je runtime uložen na disku — aby to, co testujete lokálně, přesně odpovídalo tomu, co nasadíte.

Dvě runtime prostředí a proč jsou obě skutečná

Playground je výchozí volbou. WordPress Playground kompiluje PHP do WebAssembly a spouští jej uvnitř Node, takže notebook, na kterém není nainstalováno nic kromě Node, spustí WordPress během několika sekund. K dispozici je jakákoli verze PHP od 5.2 do 8.5. Obsahuje malou sadu PHP rozšíření (intl, redis, memcached podle měření v aktuálním sestavení), což pro většinu prací na pluginech a šablonách plně postačuje.

Docker spouští nativní kontejnery php-fpm a MariaDB. Je pomalejší, vyžaduje Docker daemon a přibližně 1,2 GB obrazů a podporuje PHP 7.4 až 8.5 — spouští však nativní PHP s úplnou sadou rozšíření, včetně imagick a gd. Představuje spolehlivé řešení v případech, kdy potřebujete otestovat rozšíření, které sestavení WebAssembly neobsahuje.

zinnector dev                       # playground
zinnector dev --runtime docker      # nativní PHP + MariaDB

K Dockeru se nikdy nepřechází tiše v rámci záložního řešení. Pokud si vývojář myslí, že pracuje s WebAssembly, a přitom běží na Dockeru, nástroj se snahou pomoci mu poskytl nesprávný výsledek; Docker je proto nutné výslovně vyžádat podle názvu.

Volba verzí PHP a WordPress

zinnector dev --php 8.1 --wp 6.7    # vývoj pro konkrétní dvojici
zinnector dev --port 9401           # pokud je port 9400 obsazen
zinnector dev --no-login            # nepřihlašovat se automaticky do wp-admin
zinnector dev --verbose             # zobrazit vlastní výstup runtime prostředí

Výchozí hodnoty pocházejí ze souboru zinnector.json v projektu — php, wordpress, runtime a port — který zapíše příkaz zinnector new a který byste měli verzovat (commit), aby všichni v projektu používali stejné verze. Přepínač na příkazovém řádku má pro dané spuštění přednost před tímto souborem.

Verze, kterou deklarujete, a verze, která běží, jsou dvě různé věci. Příkaz zinnector dev --once spustí runtime, vypíše, co skutečně hlásí — verzi PHP, verzi WordPress, načtená rozšíření — a ukončí se. Příkaz zinnector check --probe používá stejné měření, když porovnává Váš projekt s hostingovým slotem.

Co je poskytováno z Vašeho projektu

Runtime přímo připojuje adresáře wp-content/plugins, wp-content/themes a wp-content/mu-plugins Vašeho projektu, takže soubor, který uložíte, se projeví hned při dalším načtení. Adresáře, které existují, ale neobsahují žádný skutečný obsah, se záměrně nepřipojují: prázdný adresář themes/ připojený přes vlastní šablony runtime prostředí by ponechal WordPress zcela bez šablony, což by vedlo k prázdné chybě 500 namísto Vašeho webu. Proto základní struktura uchovává prázdné adresáře se souborem .gitkeep a proto nic nepřekrývají, dokud do nich nevložíte šablonu.

Kde je runtime uložen

Runtime prostředí WordPress se stahuje při prvním použití, místo aby bylo součástí samotného CLI — balíček obsahující všechna sestavení PHP má přibližně 570 MB a vývojář, který pouze vypisuje seznam webů, by jej neměl muset stahovat. Ukládá se do vlastní mezipaměti nástroje Zinnector®, ~/.cache/zinnector/runtimes/playground/<version> (nebo kamkoli ukazuje ZINNECTOR_CACHE_DIR), nikdy přímo do Vašeho projektu, takže nemůže skončit ve Vašem repozitáři ani ve stromu, který vyhodnocuje zinnector push. Stažení provádí Váš vlastní npm, spuštěný jako node npm-cli.js — nikdy prostřednictvím shellu.

Verze runtime prostředí je pevně svázána s verzí CLI, takže dva vývojáři na jednom projektu používají stejná sestavení PHP. Příkaz zinnector dev --reset-runtime odstraní nainstalovaný runtime a nainstaluje jej znovu, což představuje řešení pro runtime, který se nainstaloval, ale nedaří se jej spustit.

Na Node 26 nebo novějším

Samotné CLI běží na jakékoli verzi Node od 24 výše. Nativní modul runtime prostředí však nabízí předkompilované binární soubory pouze pro Node 24 a 25 (k září 2026). Aby nebylo nutné cokoli kompilovat — což ve Windows znamená instalaci Visual Studio — Zinnector® stáhne do stejné mezipaměti Node 24 určený výhradně pro tento runtime (přibližně 30 MB), ověřený vůči kontrolním součtům publikovaným na nodejs.org. Pokud je tento krok potřeba, instalační výzva Vás na to upozorní. Na Vaší vlastní instalaci Node se nic nemění.

Související

Veškerá dokumentace pro vývojáře →

Nejnovější z blogu

Co jsme napsali o hostingu, SEO a provozování webů ve velkém měřítku.

SEO a budování odkazů z hostingové vrstvy: Pohled operátora pro rok 2026

Jak hosting ovlivňuje indexaci a předávání hodnoty odkazů v roce 2026: udržení indexovaných stránek, prověřování starších domén před jejich využitím, budování odkazů bez zanechání vyhledávacích stop a upřímný pohled na to, co infrastruktura pro SEO může a nemůže udělat.

Přečíst příspěvek →

Zrychlení a zabezpečení WordPress: kontrolní seznam pro výkon a pluginy

Praktický kontrolní seznam pro rychlý a bezpečný WordPress: mezipaměť na úrovni serveru, objektová mezipaměť pro každý web, několik doplňků, které stojí za provozování, udržování aktuálního zásobníku a stránky WooCommerce, které nesmíte nikdy ukládat do mezipaměti.

Přečíst příspěvek →

Jak vybrat spravovaný webhosting v roce 2026: Průvodce pro kupující

Co ve skutečnosti odlišuje dobrý spravovaný hosting od levného serveru s ovládacím panelem — migrace, zálohy, izolace, skutečné ukládání do mezipaměti a poctivé škálování — a jak to posoudit dříve, než se zavážete.

Přečíst příspěvek →

Přečtěte si blog →

Stále si nevíte rady?

Podpora je součástí každého tarifu, podpora je otevřená 24 hodin denně a můžete nám napsat v kterémkoli z našich 58 jazyků – odpovíme vám ve vašem jazyce.

Kontaktovat podporu → Všechny články →