Trung tâm kiến thức
Phát triển cục bộ với zinnector dev
Cách zinnector dev chạy một trang WordPress thực tế trên máy tính của bạn: hai môi trường thời gian chạy (WebAssembly không cần Docker, hoặc PHP nguyên bản trong Docker), cách chọn phiên bản PHP và WordPress, những gì được phục vụ từ dự án của bạn, nơi lưu trữ môi trường thời gian chạy 570 MB và điều gì xảy ra trên Node 26.
zinnector dev chạy một WordPress thực tế trên máy của chính Quý vị, phục vụ các plugin và giao diện trong dự án của Quý vị, với phiên bản PHP mà Quý vị chọn. Bài viết này giải thích hai môi trường chạy có thể sử dụng, cách chọn phiên bản, nội dung nào được phục vụ từ đâu và môi trường chạy nằm ở đâu trên đĩa — để những gì Quý vị kiểm thử cục bộ cũng chính là những gì Quý vị triển khai.
Hai môi trường chạy và lý do cả hai đều là thực tế
Playground là mặc định. WordPress Playground biên dịch PHP thành WebAssembly và chạy bên trong Node, vì vậy một máy tính xách tay không cài đặt gì ngoài Node sẽ khởi động WordPress trong vài giây. Bất kỳ phiên bản PHP nào từ 5.2 đến 8.5 đều có sẵn. Môi trường này bao gồm một tập hợp nhỏ các phần mở rộng PHP (intl, redis, memcached theo đo đạc trên bản dựng hiện tại), đủ cho hầu hết công việc phát triển plugin và giao diện.
Docker chạy các vùng chứa php-fpm nguyên bản và MariaDB. Môi trường này chậm hơn, cần có một tiến trình nền Docker và khoảng 1,2 GB hình ảnh, đồng thời hỗ trợ PHP từ 7.4 đến 8.5 — nhưng lại chạy một phiên bản PHP nguyên bản với bộ phần mở rộng đầy đủ, bao gồm imagick và gd. Đây là giải pháp chân thực khi điều Quý vị cần kiểm thử là một phần mở rộng mà bản dựng WebAssembly không có.
zinnector dev # playground
zinnector dev --runtime docker # PHP nguyên bản + MariaDB
Docker không bao giờ được chuyển đổi dự phòng một cách âm thầm. Một nhà phát triển nghĩ rằng họ đang sử dụng WebAssembly nhưng thực tế lại đang dùng Docker đã bị cung cấp thông tin sai lệch bởi một công cụ đang cố gắng hỗ trợ, do đó môi trường này bắt buộc phải được gọi định danh bằng tên.
Chọn phiên bản PHP và WordPress
zinnector dev --php 8.1 --wp 6.7 # phát triển dựa trên một cặp phiên bản cụ thể
zinnector dev --port 9401 # khi cổng 9400 đang bận
zinnector dev --no-login # không tự động đăng nhập vào wp-admin
zinnector dev --verbose # hiển thị đầu ra của riêng môi trường chạy
Các giá trị mặc định bắt nguồn từ tệp zinnector.json trong dự án — php, wordpress, runtime và port — được ghi bởi zinnector new và Quý vị nên đưa vào hệ thống quản lý mã nguồn, để mọi người trong dự án đều chạy cùng các phiên bản. Một cờ trên dòng lệnh sẽ có ưu thế hơn tệp cấu hình đối với lần chạy đó.
Phiên bản mà Quý vị khai báo và phiên bản chạy là hai thực tế khác nhau. zinnector dev --once khởi động môi trường chạy, in ra các thông số mà nó thực sự báo cáo — phiên bản PHP, phiên bản WordPress, các phần mở rộng đã tải — rồi dừng lại. zinnector check --probe sử dụng cùng một phép đo lường đó khi so sánh dự án của Quý vị với một ô chứa lưu trữ.
Nội dung được phục vụ từ dự án của Quý vị
Môi trường chạy gắn kết trực tiếp các thư mục wp-content/plugins, wp-content/themes và wp-content/mu-plugins trong dự án của Quý vị, do đó một tệp được lưu sẽ có hiệu lực ngay trong lần tải lại tiếp theo. Các thư mục có tồn tại nhưng không chứa nội dung thực tế sẽ cố ý không được gắn kết: một thư mục themes/ trống được gắn kết đè lên các giao diện của chính môi trường chạy sẽ khiến WordPress không có giao diện nào cả, dẫn đến lỗi 500 trắng trang thay vì trang web của Quý vị. Đó là lý do tại sao hệ thống khung giữ lại các thư mục trống bằng tệp .gitkeep và tại sao chúng không che khuất bất kỳ thứ gì cho đến khi Quý vị đặt một giao diện vào đó.
Môi trường chạy nằm ở đâu
Môi trường chạy WordPress được tải xuống trong lần sử dụng đầu tiên thay vì được đóng gói sẵn cùng với CLI — gói chứa mọi bản dựng PHP có dung lượng khoảng 570 MB và một nhà phát triển chỉ liệt kê các trang web thì không phải trả chi phí đó. Môi trường này được lưu giữ trong bộ nhớ đệm của riêng Zinnector®, cụ thể là ~/.cache/zinnector/runtimes/playground/<version> (hoặc bất kỳ nơi nào mà ZINNECTOR_CACHE_DIR trỏ tới), không bao giờ nằm trong dự án của Quý vị, do đó nó không thể xuất hiện trong kho lưu trữ của Quý vị hoặc trong cấu trúc cây mà zinnector push đo lường. Quá trình tải xuống được thực hiện bởi chính npm của Quý vị, chạy dưới dạng node npm-cli.js — không bao giờ thông qua trình bao (shell).
Phiên bản môi trường chạy được ghim với phiên bản CLI, do đó hai nhà phát triển trên cùng một dự án sẽ chạy các bản dựng PHP giống nhau. zinnector dev --reset-runtime sẽ loại bỏ môi trường chạy đã cài đặt và tiến hành cài đặt lại, đây là giải pháp khắc phục cho một môi trường chạy đã cài đặt nhưng không thể khởi động.
Trên Node 26 hoặc mới hơn
Bản thân CLI chạy trên bất kỳ phiên bản Node nào từ 24 trở lên. Tuy nhiên, mô-đun gốc của môi trường chạy chỉ cung cấp các tệp nhị phân được xây dựng sẵn cho Node 24 và 25 (tính đến tháng 9 năm 2026). Thay vì biên dịch bất cứ thứ gì — việc này trên Windows đồng nghĩa với việc cài đặt Visual Studio — Zinnector® sẽ tìm nạp riêng một phiên bản Node 24 cho môi trường chạy, dung lượng khoảng 30 MB, được xác thực dựa trên các mã tổng kiểm (checksum) mà nodejs.org công bố, vào cùng một bộ nhớ đệm. Thông báo cài đặt sẽ hiển thị điều này khi áp dụng. Không có bất kỳ thay đổi nào đối với phiên bản Node của riêng Quý vị.
Liên quan
Vẫn chưa được?
Hỗ trợ được bao gồm trong mọi gói cước và giải đáp bằng chính ngôn ngữ của bạn.
Liên hệ bộ phận hỗ trợ → Tất cả bài viết →