Zinnector®

WordPress հոսթինգի մշակողի CLI-ն

Zinnector®-ը ստեղծում է WordPress տեղային մակարդակում՝ առանց Node-ից բացի որևէ այլ բան տեղադրելու (առանց Docker-ի, առանց MAMP-ի), այնուհետև համեմատում է ձեր ստեղծածը հոսթինգի սլոթի հետ, որտեղ պատրաստվում եք տեղակայել, և մինչև ուղարկելը հայտնում, թե ինչը չի համապատասխանի: Տեղադրեք այն npm install -g zinnector հրամանով: Այն անվճար է, ունի MIT արտոնագիր և կառուցված է նույն հանրային API-ի վրա, ինչ մնացած ամեն ինչ այստեղ:

Հինգ հրաման, և մեջտեղինը կետն է

Հոսթինգի CLI-ների մեծ մասը սկսվում է տեղակայումից: Zinnector®-ը սկսվում է դրանից առաջ. այն ստեղծում է կայքը ձեզ հետ միասին, և այնուհետև ստուգում է ձեր աշխատանքը այն մեքենայի նկատմամբ, որին պատրաստվում եք այն ուղարկել: Այն բացը, որը գոյություն ունի «այն աշխատեց իմ նոութբուքում» և «այն աշխատում է սերվերում» միջև, հենց այնտեղ են կորչում կեսօրները, և այդ բացը չափելի է:

zinnector նոր

Ստեղծեք կայքի, փլագինի կամ բլոկային թեմայի հիմնակմախք (scaffold), որն անմիջապես գործարկվում է։ Առանց տեղապահ (placeholder) ֆայլերի, առանց TODO-ների. փլագինն ակտիվանում է, իսկ թեման կարելի է ընտրել հենց ստեղծման պահից։

zinnector dev

Իրական WordPress ձեր համակարգչում վայրկյանների ընթացքում՝ ապահովելով ձեր սեփական հավելվածներն ու թեմաները, առանց Docker-ի և առանց PHP-ի ձեր PATH-ում: Ընտրեք ցանկացած PHP 5.2-ից մինչև 8.5՝ դրա վրա մշակելու համար:

zinnector-ի ստուգում

Նախաթռիչքային ստուգում։ Համեմատում է ձեր կառուցածը տեղադրման ենթակա սլոտի հետ և մինչև տեղադրելը մատնանշում յուրաքանչյուր անհամապատասխանություն, ինչպես նաև յուրաքանչյուր ստուգում, որը չի կարողացել կատարել:

zinnector push

Նախաթռիչքային, հանձնեք ձեր քոմիթները, գործարկեք տեղակայումը և հետևեք դրան մինչև ավարտը: Եթե այն ձախողվի, կառուցման մատյանը մեկ հրաման է հեռու:

zinnector ai

Հարցրեք օգնականին տերմինալից՝ ձեր նախագիծը և կայքը որպես համատեքստ օգտագործելով։ Այն աշխատում է հարթակում ձեր սեփական հաշվի միջոցով, ուստի որևէ մոդելի բանալի երբեք չի պահվում ձեր համակարգչում։

Test it works in two minutes, no account needed

Six commands, in order, and what success looks like at each one. Everything here runs on your own machine; an API key is only needed when you reach a hosting slot.

  1. Install it

    Run npm install -g zinnector on Node 24 or newer. If npm prints EBADENGINE, your Node is older than 24 — install the current LTS from nodejs.org and run the install again.

  2. Check the version

    zinnector --version prints a version number such as 0.1.2. On a Node older than 24 it prints a message saying Node 24 or newer is needed, and exits.

  3. Read the help

    zinnector --help lists every command below with a one-line purpose. Every command also takes --help of its own.

  4. Scaffold a site

    zinnector new my-site creates a project that boots immediately — a zinnector.json, a wp-content tree and a README — and prints the next commands to run.

  5. Run it

    cd my-site, then zinnector dev. The first run asks once to download the WordPress runtime (about 570 MB, kept in the CLI’s own cache, never in your project). Success looks like “running at http://127.0.0.1:9400”.

  6. Open it in a browser

    http://127.0.0.1:9400 is a fresh WordPress site; /wp-admin opens the dashboard already signed in. Drop a plugin into wp-content/plugins and it is there on the next reload.

  7. Then, with a hosting slot

    zinnector login, zinnector link, zinnector check, zinnector push — pre-flight what you built against the slot, then deploy and watch it finish.

Նախաթռիչքային ստուգումը՝ մանրամասն

Դուք ստեղծել եք PHP 8.3-ի վրա։ Հատվածն աշխատում է 8.1-ով։ Ոչինչ ձեզ չի հայտնում այդ մասին, մինչև կայքը չսպիտակի։ Սա այն խնդիրն է, որի համար գոյություն ունի այս հրամանը, և այն է, ինչը այս հարթակի սեփականատերը պահանջել է անունով։ Zinnector®-ը կարդում է երկու միջավայրերն էլ և դնում կողք կողքի, այնուհետև թույլ է տալիս միևնույն է տեղակայել, քանի որ դուք կարող եք պատճառ ունենալ։

PHP՝ անկեղծ գնահատված

Հիմնական տարբերակի բացը նշվում է որպես բարձր ռիսկային, քանի որ այն հուսալիորեն խափանում է կայքը, մինչդեռ փոքր տարբերակի բացը նշվում է ավելի ցածր մակարդակով: Ամեն ինչ որպես կրիտիկական գնահատելը միայն սովորեցնում է մարդկանց անտեսել նախազգուշացումը:

Սկավառակի և ֆայլերի քանակը՝ առանձին-առանձին

WordPress-ի ծառը տասնյակ հազարավոր փոքր ֆայլեր է, և կայքը կարող է սպառել inode-ների իր սահմանաչափը՝ դեռևս գտնվելով սկավառակի ծավալի առավելագույն շեմից բավականին ցածր: Երկուսն էլ ստուգվում են սլոտում փաստացի մնացած ռեսուրսների համեմատ, այլ ոչ թե սակագնային պլանի:

«Չստացվեց ստուգել»՝ ինքնին պատասխան է

Այն ստուգումը, որը չի տեսնում իր առարկան, զեկուցվում է որպես չստուգված և երբեք չի անցնում: Մաքուր աշխատանքը ցույց է տալիս, թե քանի բան չի կարողացել հաստատել, քանի որ սխալ «ամեն ինչ կարգին է» հայտարարությունն այն է, որը ոչ ոք երկրորդ անգամ չի ստուգում:

Զգուշացնում է, երբեք չի արգելափակում

Յուրաքանչյուր հայտնաբերում կարող է վերագրվել --force-ի միջոցով, և ամփոփումն այդ մասին ասում է: CI-ում դրա փոխարեն ելքային կոդն է ծառայում որպես անցակետ, այնպես որ խողովակաշարը կարող է խիստ լինել, մինչդեռ անձը շարունակում է վերահսկել իրավիճակը:

Երկու տեղական գործարկման միջավայր, և երկուսն էլ իրական

WordPress Playground-ը լռելյայն է. WebAssembly-ում կոմպիլյացված PHP, որն աշխատում է Node-ի ներսում, այնպես որ առանց որևէ այլ բան, քան Node տեղադրված նոթբուքի վրա, դուք անցնում եք զրոյից մինչև աշխատող WordPress այնքան ժամանակում, որը պահանջվում է այս նախադասությունը կարդալու համար:

Երբ ձեզ անհրաժեշտ է նեյթիվ PHP — ընդլայնում, ինչպիսին է imagick-ը, կամ իրական MySQL — փոխանցեք --runtime docker և ստացեք php-fpm և MariaDB կոնտեյներներ դրանց փոխարեն: Երկուսն էլ սպասարկում են նույն ֆայլերը նույն նախագծից, ուստի դրանց միջև անցումը փոխում է միայն շարժիչը և ոչինչ ավելին:

Ամեն ինչ, ինչ արդեն անում եք վահանակում

Zinnector®-ը կառուցված է նույն հանրային API-ի վրա, ինչ կառավարման վահանակը, այնպես որ այն ամենը, ինչ վահանակը կարող է անել, կարող է անել նաև այն, և յուրաքանչյուր հրաման OpenAPI-ի բնութագրում փաստաթղթավորված գործողություն է, այլ ոչ թե մասնավոր վերջնակետ:

Կայքեր և տեղակայումներ

Թվարկել կայքերը, կարդալ այն ամենը, ինչ հարթակը գիտի դրանցից մեկի մասին, նորից տեղակայել և կարդալ տեղակայման պատմությունը և կառուցման մատյանները:

Դոմեյններ, DNS և փոստ

Ցուցադրել դոմենները, կարդալ և փոփոխել DNS գրառումները գրառումը գրվելուց առաջ ցուցադրվելու պայմանով, ինչպես նաև կարդալ ձեր փոստային ծառայությունները:

PHP, քվոտա, տվյալների բազա և մատյաններ

Փոխեք PHP-ի տարբերակները, ստուգեք սկավառակի և inode-ների օգտագործումը ըստ ձեր փաթեթի տրամադրած սահմանաչափի, ստացեք միանգամյա հղումներ դեպի phpMyAdmin և հետևեք մուտքի ու սխալների մատյաններին:

WP-CLI և զանգվածային գործողություններ

Գործարկեք թույլատրված WP-CLI հրամանները կայքի վրա և մաքրեք շտեմարանները կամ սկսեք վնասաբեր ծրագրերի սկանավորումներ ամբողջ ընտրանիում մեկ կանչով՝ յուրաքանչյուր կայքի համար առանձին կանչելու փոխարեն:

Every command, exactly as --help lists it

The full list, one line each. The complete reference — every flag, a runnable example and what each command prints — is generated from the CLI itself and lives in the developer docs and the knowledge base, so it cannot drift from the tool you have installed.

zinnector new

Scaffold a WordPress project you can run immediately.

zinnector dev

Run this project locally — no Docker required.

zinnector login

Sign in with a Zinn Digital® API key.

zinnector logout

Forget a stored API key.

zinnector whoami

Show who this CLI is authenticated as.

zinnector sites

List the sites this key can see.

zinnector status

Everything the platform knows about one site.

zinnector share

Give one person access to a single site — a developer, a designer, a client — with a role and a reason.

zinnector collaborators

See who has been given access to a site, their role, and whether they have accepted yet.

zinnector unshare

Take a person's access back, by email or grant id.

zinnector invitations

The invitations waiting for you, and accept one.

zinnector link

Point this project at a hosting slot (and connect its repository).

zinnector pull

Pull a hosted site's files into this project for local development, and re-run to re-sync. Takes the fast path when the site syncs to its own repository, otherwise works from the latest backup.

zinnector clone

Make a local project from a hosted site in one step: clone its repository or pull its files, write the project file, and leave you ready to run zinnector dev.

zinnector check

Compare this project against the slot you are about to deploy to.

zinnector push

Pre-flight, push your commits, and deploy.

zinnector deploy

Redeploy what the platform already has, without pushing.

zinnector deploys

A site's deploy history.

zinnector php

Show or switch a site's PHP version.

zinnector quota

Disk, files and database usage against what the plan grants.

zinnector db

Database size, and single-use links into phpMyAdmin and the file manager.

zinnector logs

Tail a site's access and error logs.

zinnector wp

Run an allow-listed WP-CLI command on a site.

zinnector backup

List and take site backups. Subcommands: list, now.

zinnector domains

List the domains this key can see.

zinnector dns

Read and change DNS records. Subcommands: list, add, rm.

zinnector mail

List mail services.

zinnector bulk

Run one operation across many sites (cache_purge, malware_scan, sitemap, block_ip).

zinnector ai

Ask the Zinn Digital® assistant, with this project as context.

Հարցեր

Արդյո՞ք պետք է լինեմ Zinn Digital®-ի հաճախորդ՝ այն օգտագործելու համար:

Ոչ։ `zinnector new`-ին և `zinnector dev`-ին հաշիվ բնավ պետք չէ․ ստեղծեք պլագինի, թեմայի կամ ամբողջական կայքի ձևանմուշ և գործարկեք այն տեղային մակարդակով, անվճար, ընդմիշտ։ API բանալին անհրաժեշտ է միայն այն հրամանների համար, որոնք շփվում են ձեր հոսթինգի հետ։

Դոկերի կարիք ունե՞նք:

Լռելյայն գործարկման միջավայրի համար չէ: WordPress Playground-ը PHP-ն կոմպիլյացիայի է ենթարկում WebAssembly-ի և աշխատում Node-ի ներսում, այնպես որ `zinnector dev`-ը վայրկյանների ընթացքում գործարկում է իրական WordPress՝ առանց որևէ այլ բան տեղադրելու: Եթե ձեզ հարկավոր է բնօրինակ PHP՝ ընդլայնումը ստուգելու համար, ինչպիսին է imagick-ը կամ ionCube-ը, `--runtime docker`-ը ձեզ տրամադրում է php-fpm և MariaDB կոնտեյներներ: Երկուսն էլ աջակցվում են, ոչ մեկը պահեստային տարբերակ չէ:

Ի՞նչ է իրականում համեմատում նախաթռիչքային ստուգումը:

Ձեր տեղային PHP տարբերակը սլոթի տարբերակի նկատմամբ, արդյոք սլոթը նույնիսկ կարող է անցնել այն տարբերակին, որի վրա կառուցել եք, արդյոք սլոթի PHP-ն անցել է շահագործման ժամկետը և արդյոք մեքենան իրականում կիրառել է այն, ձեր նախագծի չափը և ֆայլերի քանակը մնացած սկավառակի և ինոդերի պահուստի նկատմամբ, WordPress տարբերակները յուրաքանչյուր կողմում, արդյոք սլոթն ավարտել է նախնական կարգավորումը, և արդյոք git պահոց է միացված տեղակայման համար: Այն ամենը, ինչ այն չի կարողացել ստուգել, հաշվետվվում է որպես չստուգված, այլ ոչ թե հաշվվում որպես հաջողված:

Արդյո՞ք դա կարող է խանգարել ինձ տեղակայելու հարցում:

Ոչ, և դա միտումնավոր է: Pre-flight-ը զգուշացնում է և թույլ տալիս շարունակել. `--force`-ը տեղադրում է՝ անտեսելով ցանկացած հայտնաբերված խնդիր: Դուք ձեր կայքի մասին գիտեք այնպիսի բաներ, որոնք ստուգիչը չգիտի, և գործիքը, որը հրաժարվում է տեղադրում կատարել, այն գործիքն է, որը մարդիկ հեռացնում են:

Ապահով արդյո՞ք իմ API բանալին:

Բանալին երբեք չի կարդացվում հրամանային տողից՝ միայն հուշումից կամ փողրակված (piped) stdin-ից, ուստի այն չի կարող հայտնվել ձեր shell-ի պատմության մեջ կամ գործընթացների ցանկում: Այն պահվում է ձեր սեփական կարգավորումների շտեմարանում՝ 600 ֆայլի ռեժիմով, և Zinnector®-ը վերահաստատում է այդ թույլտվությունները ամեն անգամ, երբ այն գրում է:

Կարող եմ արդյոք օգտագործել այն CI-ում:

Այո։ Սահմանեք `ZINNECTOR_TOKEN`-ը, և յուրաքանչյուր հրաման ընդունում է `--json`: Մարդու կողմից կարդացվող ելքն ուղղվում է stderr, իսկ տվյալները՝ stdout, որպեսզի փողրակները (pipes) մաքուր մնան։ `zinnector check`-ը վերադարձնում է զրոյից տարբեր ելքի կոդ, երբ ինչ-որ բան է հայտնաբերում, ուստի այն աշխատում է որպես փողրակային դարպաս (pipeline gate), իսկ `--strict`-ը նույնպես ձախողվում է, երբ համեմատություն կատարելն անհնար է լինում։

Տեղադրեք այն և գործարկեք կայք հաջորդ րոպեին

Գործարկեք npm install -g zinnector, կամ փորձեք այն մեկ անգամ npx zinnector new my-site հրամանով: Անվճար է, MIT արտոնագրով և հիմնված է հանրային API-ի վրա: Ստեղծեք նախագծի կառուցվածքը, գործարկեք այն տեղային մակարդակում՝ առանց Docker-ի, և ստուգեք նախքան տեղակայելը:

Կարդալ փաստաթղթերը