База знаний
Локальная разработка с zinnector dev
Как zinnector dev запускает настоящий WordPress на вашем собственном компьютере: две среды выполнения (WebAssembly без Docker или нативный PHP в Docker), выбор версии PHP и WordPress, что именно обслуживается из вашего проекта, где хранится среда выполнения объемом 570 МБ и что происходит в 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 ГБ образов, а также поддерживает 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 и который Вам следует зафиксировать в системе контроля версий, чтобы все участники проекта запускали одинаковые версии. Флаг в командной строке имеет приоритет над файлом для данного запуска.
Версия, которую Вы объявляете, и версия, которая запускается — это разные вещи. Команда 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 МБ, и разработчик, который только просматривает списки сайтов, не должен платить за это. Она хранится в собственном кэше Zinnector®: ~/.cache/zinnector/runtimes/playground/<version> (или там, куда указывает переменная ZINNECTOR_CACHE_DIR), но никогда в Вашем проекте, поэтому она не сможет попасть в Ваш репозиторий или в дерево файлов, которое оценивает zinnector push. Загрузка выполняется Вашим собственным npm, запущенным как node npm-cli.js, и никогда через оболочку командной строки.
Версия среды выполнения привязана к версии CLI, поэтому два разработчика, работающие над одним проектом, запускают одинаковые сборки PHP. Команда zinnector dev --reset-runtime удаляет установленную среду выполнения и устанавливает ее заново, что является способом исправления среды выполнения, которая установилась, но не загружается.
В Node 26 или новее
Само CLI работает на любой версии Node, начиная с 24 и выше. Однако нативный модуль среды выполнения поставляется с предварительно собранными бинарными файлами только для Node 24 и 25 (по состоянию на сентябрь 2026 года). Вместо того чтобы что-либо компилировать (что в Windows означает установку Visual Studio), Zinnector® извлекает Node 24 исключительно для среды выполнения (около 30 МБ, проверено по контрольным суммам, публикуемым на nodejs.org) в тот же кэш. Запрос на установку сообщает об этом при ее применении. Настройки Вашей собственной Node остаются без изменений.
См. также
Всё ещё нужна помощь?
Поддержка включена в каждый тарифный план, а ответы предоставляются на вашем родном языке.
Обратиться в поддержку → Все статьи →