מאגר ידע

פיתוח מקומי עם 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. הוא איטי יותר, זקוק ל-daemon של Docker וכ-1.2 GB של תמונות, ותומך ב-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 כותב ושעליך להכניס ל-commit, כך שכל אחד בפרויקט יריץ את אותן הגרסאות. דגל בשורת הפקודה גובר על הקובץ עבור אותה ריצה.

הגרסה שאתה מצהיר עליה והגרסה שרצה הן עובדות שונות. 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 MB, ומפתח שרק מציג רשימת אתרים אינו אמור לשלם עבורה. הוא נשמר במטמון של Zinnector® עצמו, ~/.cache/zinnector/runtimes/playground/<version> (או היכן ש-ZINNECTOR_CACHE_DIR מצביע), לעולם לא בפרויקט שלך, כך שהוא אינו יכול להסתיים ב-repository שלך או בעץ ש-zinnector push מודד. ההורדה מתבצעת על ידי ה-npm שלך, שרץ כ-node npm-cli.js — לעולם לא דרך מעטפת (shell).

גרסת זמן הריצה מקובעת לגרסת ה-CLI, כך ששני מפתחים בפרויקט אחד מריצים את אותן בניית PHP. zinnector dev --reset-runtime זורק את זמן הריצה המותקן ומתקין אותו מחדש, וזה התיקון לזמן ריצה שהותקן אך מסרב לעלות.

ב-Node 26 או חדש יותר

ה-CLI עצמו רץ על כל Node מ-24 ומעלה. המודול המקורי של זמן הריצה, לעומת זאת, מספק קבצים בינאריים שנבנו מראש עבור Node 24 ו-25 בלבד (נכון לספטמבר 2026). במקום למהר לקמפל דבר כלשהו — שמשמעותו ב-Windows היא התקנת Visual Studio — Zinnector® מביא Node 24 עבור זמן הריצה לבד, כ-30 MB, מאומת מול סכומי הביקורת (checksums) ש-nodejs.org מפרסם, לתוך אותו מטמון. הנחיית ההתקנה אומרת זאת כאשר היא מיושמת. דבר אינו משתנה ב-Node שלך.

קשור

עדיין תקועים?

התמיכה כלולה בכל תוכנית והמענים ניתנים בשפה שלך.

צור קשר עם התמיכה כל המאמרים