Zinnector®

CLI สำหรับนักพัฒนาสำหรับการโฮสต์ WordPress

Zinnector® สร้าง WordPress ในเครื่องโดยไม่ต้องติดตั้งอะไรนอกจาก Node ซึ่งไม่มีทั้ง Docker และ MAMP จากนั้นจะตรวจสอบสิ่งที่คุณสร้างเทียบกับสล็อตโฮสติ้งที่คุณกำลังจะปรับใช้ และแจ้งให้คุณทราบว่าสิ่งใดจะไม่ตรงกัน ก่อนที่คุณจะพุช ติดตั้งด้วยคำสั่ง npm install -g zinnector โดยใช้งานได้ฟรี ได้รับอนุญาตภายใต้ MIT และสร้างขึ้นบน API สาธารณะตัวเดียวกับทุกสิ่งทุกอย่างที่นี่

ห้าคำสั่ง และคำสั่งตรงกลางคือประเด็นสำคัญ

CLI โฮสติ้งส่วนใหญ่เริ่มต้นที่การปรับใช้ Zinnector® เริ่มต้นก่อนหน้านั้น โดยจะสร้างเว็บไซต์ไปพร้อมกับคุณ จากนั้นจะตรวจสอบงานของคุณกับเครื่องที่คุณกำลังจะส่งไป ระยะห่างระหว่าง “มันรันบนแล็ปท็อปของฉันได้” กับ “มันรันบนเซิร์ฟเวอร์ได้” คือสิ่งทีี่ทำให้ช่วงบ่ายหมดไป และระยะห่างนั้นสามารถวัดผลได้

ซินเนคเตอร์ใหม่

สร้างโครงสร้างเว็บไซต์ ปลั๊กอิน หรือบล็อกธีมที่พร้อมใช้งานได้ทันที ไม่มีไฟล์ย่อยที่ใช้แทนที่ ไม่มีสิ่งที่ต้องทำ (TODOs) — ปลั๊กอินจะเปิดใช้งานได้และเลือกธีมได้ทันทีตั้งแต่เริ่มสร้างขึ้นมา

ซินเนกเตอร์ เดฟ

WordPress จริงบนเครื่องของคุณในเวลาไม่กี่วินาที ทำงานร่วมกับปลั๊กอินและธีมของคุณเอง โดยไม่ต้องใช้ Docker และไม่ต้องมี PHP บน PATH ของคุณ เลือก PHP ใดก็ได้ตั้งแต่ 5.2 ถึง 8.5 เพื่อใช้ในการพัฒนา

การตรวจสอบ zinnector

การตรวจสอบก่อนเริ่มใช้งาน เปรียบเทียบสิ่งที่คุณสร้างขึ้นกับสล็อตที่คุณกำลังจะปรับใช้ และระบุทุกจุดที่ไม่ตรงกัน รวมถึงทุกการตรวจสอบที่ไม่สามารถทำได้ ก่อนที่คุณจะพุช

พุช zinnector

ก่อนขึ้นระบบจริง คอมมิตโค้ดของคุณ กระตุ้นการปรับใช้ และเฝ้าดูจนกระทั่งเสร็จสิ้น หากล้มเหลว บันทึกการสร้างสามารถเรียกดูได้ด้วยคำสั่งเดียว

ซินเนกเตอร์ เอไอ

ถามผู้ช่วยจากเทอร์มินัล โดยมีโปรเจกต์และเว็บไซต์ของคุณเป็นบริบท ทำงานบนแพลตฟอร์มที่เชื่อมกับบัญชีของคุณเอง จึงไม่มีการจัดเก็บคีย์โมเดลไว้บนเครื่องของคุณเลย

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 คือค่าเริ่มต้น ซึ่งก็คือ PHP ที่คอมไพล์เป็น WebAssembly และทำงานภายใน Node ดังนั้นแล็ปท็อปที่ไม่มีอะไรติดตั้งเลยนอกจาก Node จึงสามารถเปลี่ยนจากความว่างเปล่าไปสู่ WordPress ที่พร้อมใช้งานได้ในเวลาพอๆ กับที่คุณอ่านประโยคนี้จบ

เมื่อคุณต้องการ PHP แบบเนทีฟ — ส่วนขยายอย่าง imagick, MySQL จริง — ให้ส่งอาร์กิวเมนต์ --runtime docker เพื่อรับคอนเทนเนอร์ php-fpm และ MariaDB แทน ทั้งสองระบบให้บริการไฟล์ชุดเดียวกันจากโปรเจกต์เดียวกัน ดังนั้นการสลับระหว่างกันจึงเปลี่ยนเฉพาะเอ็นจิ้นเท่านั้น และไม่มีอย่างอื่นเปลี่ยนแปลง

ทุกอย่างที่คุณทำอยู่แล้วในแผงควบคุม

Zinnector® สร้างขึ้นบน API สาธารณะเดียวกันกับแดชบอร์ด ดังนั้น สิ่งที่แผงควบคุมทำได้ ระบบนี้ก็ทำได้เช่นกัน และทุกคำสั่งคือการทำงานที่มีเอกสารประกอบในสเปก OpenAPI แทนที่จะเป็นเอ็นพอยต์ส่วนตัว

เว็บไซต์และการปรับใช้เว็บไซต์

แสดงรายการเว็บไซต์ อ่านข้อมูลทั้งหมดที่แพลตฟอร์มทราบเกี่ยวกับเว็บไซต์นั้น ปรับใช้ใหม่ และอ่านประวัติการปรับใช้และบันทึกการบิวด์

โดเมน DNS และอีเมล

แสดงรายการโดเมน อ่านและแก้ไขบันทึก DNS โดยแสดงบันทึกดังกล่าวก่อนที่จะถูกบันทึก และอ่านบริการอีเมลของคุณ

PHP โควต้า ฐานข้อมูล และบันทึกข้อมูล

สลับเวอร์ชัน PHP ตรวจสอบการใช้งานดิสก์และไอโนดเทียบกับที่แพ็กเกจของคุณกำหนด รับลิงก์ใช้งานครั้งเดียวสำหรับ 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 เฉพาะสำหรับคำสั่งที่เชื่อมต่อกับการโฮสต์ของคุณเท่านั้น

จำเป็นต้องใช้ Docker หรือไม่

ไม่ใช่สำหรับรันไทม์เริ่มต้น WordPress Playground คอมไพล์ PHP เป็น WebAssembly และรันภายใน Node ดังนั้น `zinnector dev` จึงบูต WordPress จริงขึ้นมาได้ภายในไม่กี่วินาทีโดยไม่ต้องติดตั้งอะไรเพิ่ม หากคุณต้องการ PHP แบบเนทีฟ — เพื่อทดสอบส่วนขยาย เช่น imagick หรือ ionCube — `--runtime docker` จะให้คอนเทนเนอร์ php-fpm และ MariaDB แทน ทั้งสองแบบได้รับการสนับสนุน; ไม่มีแบบใดที่เป็นตัวเลือกสำรอง

การตรวจสอบก่อนเริ่มระบบจะเปรียบเทียบอะไรจริง ๆ กันแน่

เวอร์ชัน PHP ในเครื่องของคุณกับเวอร์ชันของสล็อต สล็อตสามารถเปลี่ยนไปใช้เวอร์ชันที่คุณสร้างขึ้นมาได้หรือไม่ เวอร์ชัน PHP ของสล็อตหมดอายุการใช้งานไปแล้วหรือยังและเครื่องได้นำไปใช้จริงแล้วหรือไม่ ขนาดโปรเจกต์ของคุณและจำนวนไฟล์เทียบกับพื้นที่ดิสก์และโควตา inode ที่เหลือ เวอร์ชัน WordPress ของแต่ละฝ่าย สล็อตเตรียมความพร้อมเสร็จเรียบร้อยแล้วหรือไม่ และมีการเชื่อมต่อที่เก็บข้อมูล git สำหรับปรับใช้หรือไม่ สิ่งใดก็ตามที่ไม่สามารถตรวจสอบได้จะถูกรายงานว่าไม่ได้ตรวจสอบแทนที่จะนับว่าผ่าน

สามารถขัดขวางการปรับใช้ของฉันได้หรือไม่

ไม่ใช่ และนั่นคือความตั้งใจ ระบบ Pre-flight จะเตือนและให้คุณดำเนินการต่อได้ โดย `--force` จะทำการเผยแพร่ข้ามทุกข้อพบเจอ คุณย่อมรู้เรื่องเว็บไซต์ของตัวเองมากกว่าที่เครื่องมือตรวจสอบรู้ และเครื่องมือที่ปฏิเสธการเผยแพร่คือเครื่องมือที่ผู้คนจะถอนการติดตั้ง

คีย์ API ของฉันปลอดภัยหรือไม่

คีย์จะไม่ถูกอ่านจากบรรทัดคำสั่ง — จะอ่านจากพรอมต์หรือสตรีมข้อมูลมาตรฐานที่ส่งผ่านท่อ (stdin) เท่านั้น — จึงไม่สามารถไปปรากฏในประวัติคำสั่ง (shell history) ของคุณหรือในรายการกระบวนการทำงานได้ คีย์จะถูกจัดเก็บไว้ในไดเรกทอรีการกำหนดค่าของคุณเองด้วยโหมดไฟล์ 600 และ Zinnector® จะยืนยันสิทธิ์เหล่านั้นซ้ำทุกครั้งที่มีการเขียนข้อมูล

ฉันสามารถใช้งานใน CI ได้หรือไม่

ใช่ ตั้งค่า `ZINNECTOR_TOKEN` และทุกคำสั่งจะใช้ `--json` ข้อความสำหรับมนุษย์จะถูกส่งไปยัง stderr และข้อมูลไปยัง stdout ทำให้ไพพ์สะอาด `zinnector check` จะออกจากโปรแกรมด้วยรหัสที่ไม่ใช่ศูนย์เมื่อพบปัญหา จึงทำงานเป็นเกณฑ์ของไปพป์ไลน์ได้ และ `--strict` จะล้มเหลวด้วยเช่นกันเมื่อไม่สามารถทำการเปรียบเทียบได้

ติดตั้งและใช้งานเว็บไซต์ได้ภายในนาทีถัดไป

รัน npm install -g zinnector หรือลองใช้ครั้งเดียวด้วย npx zinnector new my-site ฟรี ใช้งานภายใต้สัญญาอนุญาต MIT และสร้างขึ้นบน Public API โครงสร้างโปรเจกต์ รันในเครื่องโดยไม่ต้องใช้ Docker และตรวจสอบความพร้อมก่อนปรับใช้จริง

อ่านเอกสาร