വിജ്ഞാനശേഖരം

zinnector dev ഉപയോഗിച്ചുള്ള ലോക്കൽ ഡെവലപ്‌മെന്റ്

zinnector dev നിങ്ങളുടെ സ്വന്തം മെഷീനിൽ ഒരു യഥാർത്ഥ WordPress എങ്ങനെ പ്രവർത്തിപ്പിക്കുന്നു: രണ്ട് റൺടൈമുകൾ (Docker ഇല്ലാതെ WebAssembly, അല്ലെങ്കിൽ Docker-ൽ നേറ്റീവ് PHP), ഒരു PHP, WordPress പതിപ്പ് തിരഞ്ഞെടുക്കൽ, നിങ്ങളുടെ പ്രോജക്റ്റിൽ നിന്ന് എന്താണ് നൽകുന്നത്, 570 MB റൺടൈം എവിടെയാണ് സ്ഥിതിചെയ്യുന്നത്, Node 26-ൽ എന്ത് സംഭവിക്കുന്നു.

നിങ്ങൾ തിരഞ്ഞെടുക്കുന്ന ഒരു PHP പതിപ്പ് ഉപയോഗിച്ച്, നിങ്ങളുടെ പ്രോജക്റ്റിലെ പ്ലഗിന്നുകളും തീമുകളും ലഭ്യമാക്കിക്കൊണ്ട് zinnector dev നിങ്ങളുടെ സ്വന്തം മെഷീനിൽ ഒരു യഥാർത്ഥ WordPress പ്രവർത്തിപ്പിക്കുന്നു. ഇതിന് ഉപയോഗിക്കാൻ കഴിയുന്ന രണ്ട് റൺടൈമുകൾ, പതിപ്പുകൾ എങ്ങനെ തിരഞ്ഞെടുക്കാം, എവിടെ നിന്നാണ് എന്തൊക്കെ നൽകുന്നത്, റൺടൈം ഡിസ്കിൽ എവിടെയാണ് സ്ഥിതി ചെയ്യുന്നത് എന്നിവ ഈ ലേഖനം വിശദീകരിക്കുന്നു — അതുവഴി നിങ്ങൾ ലോക്കലായി ടെസ്റ്റ് ചെയ്യുന്നത് തന്നെയാണ് ഡിപ്ലോയ് ചെയ്യുന്നത് എന്ന് ഉറപ്പാക്കാം.

രണ്ട് റൺടൈമുകളും, അവ രണ്ടും യഥാർത്ഥമായിരിക്കുന്നത് എന്തുകൊണ്ട്

Playground ആണ് ഡിഫോൾട്ട്. WordPress Playground PHP-യെ WebAssembly-ലേക്ക് കംപൈൽ ചെയ്യുകയും Node-നുള്ളിൽ പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു, അതിനാൽ Node മാത്രം ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള ഒരു ലാപ്‌ടോപ്പിൽ നിമിഷങ്ങൾക്കകം ഒരു WordPress ബൂട്ട് ചെയ്യാൻ കഴിയും. 5.2 മുതൽ 8.5 വരെയുള്ള ഏത് PHP-യും ലഭ്യമാണ്. ഇതിൽ ചെറിയൊരു കൂട്ടം PHP എക്സ്റ്റൻഷനുകൾ അടങ്ങിയിരിക്കുന്നു (നിലവിലെ ബിൽഡിൽ കണക്കാക്കിയ പ്രകാരം intl, redis, memcached), ഇത് മിക്ക പ്ലഗിൻ, തീം ജോലികൾക്കും പര്യാപ്തമാണ്.

Docker നേറ്റീവ് php-fpm, MariaDB കണ്ടെയ്‌നറുകൾ പ്രവർത്തിപ്പിക്കുന്നു. ഇത് വേഗത കുറഞ്ഞതാണ്, ഒരു Docker ഡെമണും ഏകദേശം 1.2 GB ഇമേജുകളും ഇതിന് ആവശ്യമാണ്, കൂടാതെ PHP 7.4 മുതൽ 8.5 വരെയുള്ളവ പിന്തുണയ്ക്കുകയും ചെയ്യുന്നു — എന്നാൽ ഇത് imagick, gd ഉൾപ്പെടെയുള്ള പൂർണ്ണ എക്സ്റ്റൻഷൻ സെറ്റോടുകൂടിയ ഒരു നേറ്റീവ് PHP പ്രവർത്തിപ്പിക്കുന്നു. 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 ഉപയോഗിച്ച് നിലനിർത്തുന്നത്, അവയിൽ നിങ്ങൾ ഒരു തീം നൽകുന്നതുവരെ മറ്റൊന്നിനെയും മറയ്ക്കാത്തതും അതുകൊണ്ടാണ്.

റൺടൈം എവിടെയാണ് സ്ഥിതി ചെയ്യുന്നത്

CLI-ക്കൊപ്പം നൽകുന്നതിന് പകരം ആദ്യ ഉപയോഗത്തിലാണ് WordPress റൺടൈം ഡൗൺലോഡ് ചെയ്യുന്നത് — എല്ലാ PHP ബിൽഡുകളും വഹിക്കുന്ന പാക്കേജ് ഏകദേശം 570 MB വരും, സൈറ്റുകൾ മാത്രം ലിസ്റ്റ് ചെയ്യുന്ന ഒരു ഡെവലപ്പർ അതിനായി ഡാറ്റ നൽകേണ്ടതില്ല. ഇത് 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 തന്നെ 24 മുതലുള്ള ഏത് Node-ലും പ്രവർത്തിക്കും. എന്നിരുന്നാലും, റൺടൈമിന്റെ നേറ്റീവ് മൊഡ്യൂൾ Node 24, 25 എന്നിവയ്ക്ക് മാത്രമായി പ്രീബിൽറ്റ് ബൈനറികൾ നൽകുന്നു (2026 സെപ്റ്റംബർ പ്രകാരം). എന്തിനെയും കംപൈൽ ചെയ്യുന്നതിന് പകരം — വിൻഡോസിൽ ഇതിനർത്ഥം Visual Studio ഇൻസ്റ്റാൾ ചെയ്യുക എന്നാണ് — nodejs.org പ്രസിദ്ധീകരിക്കുന്ന ചെക്ക്സമ്മുകൾക്കെതിരെ പരിശോധിച്ചുറപ്പിച്ച, ഏകദേശം 30 MB ഉള്ള ഒരു Node 24 റൺടൈമിന് മാത്രമായി അതേ കാഷെയിലേക്ക് Zinnector® ലഭ്യമാക്കുന്നു. ഇത് ബാധകമാകുമ്പോൾ ഇൻസ്റ്റാൾ പ്രോംപ്റ്റ് അത് വ്യക്തമാക്കും. നിങ്ങളുടെ സ്വന്തം Node-ൽ യാതൊരു മാറ്റവും വരുന്നില്ല.

അനുബന്ധമായവ

എല്ലാ ഡെവലപ്പർ ഡോക്യുമെന്റേഷനും →

ബ്ലോഗിൽ നിന്നുള്ള പുതിയ വിവരങ്ങൾ

ഹോസ്റ്റിംഗ്, എസ്ഇഒ, വലിയ തോതിലുള്ള സൈറ്റുകളുടെ പ്രവർത്തനം എന്നിവയെക്കുറിച്ച് ഞങ്ങൾ എഴുതിയത്.

ഹോസ്റ്റിംഗ് ലെയറിൽ നിന്നുള്ള എസ്ഇഒയും ലിങ്ക് നിർമ്മാണവും: ഒരു 2026 ഓപ്പറേറ്ററുടെ വീക്ഷണം

2026-ൽ ഹോസ്റ്റിംഗ് ഇൻഡെക്സിംഗിനെയും ലിങ്ക് ഇക്വിറ്റിയെയും എങ്ങനെ സ്വാധീനിക്കുന്നു: പേജുകൾ ഇൻഡെക്സ് ചെയ്ത് നിലനിർത്തൽ, നിർമ്മാണത്തിന് മുമ്പ് പഴയ ഡൊമെയ്‌നുകൾ പരിശോധിക്കൽ, തിരച്ചിൽ കാൽപ്പാടുകൾ ഇല്ലാതെ ലിങ്ക് നിർമ്മിക്കൽ, കൂടാതെ എസ്ഇഒയ്ക്കായി ഇൻഫ്രാസ്ട്രക്ചറിന് എന്തൊക്കെ ചെയ്യാൻ കഴിയും, എന്തൊക്കെ ചെയ്യാൻ കഴിയില്ല എന്നതിനെക്കുറിച്ചുള്ള സത്യസന്ധമായ കാഴ്ചപ്പാട്.

പോസ്റ്റ് വായിക്കുക →

WordPress വേഗതയേറിയതും സുരക്ഷിതവുമാക്കുന്നു: പ്രകടനത്തിന്റെയും പ്ലഗിന്റെയും ചെക്ക്‌ലിസ്റ്റ്

വേഗതയേറിയതും സുരക്ഷിതവുമായ WordPress-നായുള്ള പ്രായോഗിക ചെക്ക്‌ലിസ്റ്റ്: സെർവർ-ലെവൽ കാഷിംഗ്, ഓരോ സൈറ്റിനുമുള്ള ഒബ്‌ജക്റ്റ് കാഷ്, ഉപയോഗിക്കാൻ യോഗ്യമായ ഏതാനും പ്ലഗിനുകൾ, സ്റ്റാക്ക് കാലികമായി നിലനിർത്തൽ, നിങ്ങൾ ഒരിക്കലും കാഷ് ചെയ്യാൻ പാടില്ലാത്ത WooCommerce പേജുകൾ.

പോസ്റ്റ് വായിക്കുക →

2026-ൽ മാനേജ്‌ഡ് വെബ് ഹോസ്റ്റിംഗ് എങ്ങനെ തിരഞ്ഞെടുക്കാം: ഒരു വാങ്ങലുകാരന്റെ വഴികാട്ടി

നിയന്ത്രണ പാനലുള്ള ഒരു വിലകുറഞ്ഞ ബോക്സിൽ നിന്ന് മികച്ച നിയന്ത്രിത ഹോസ്റ്റിംഗിനെ യഥാർത്ഥത്തിൽ വേർതിരിക്കുന്നത് എന്താണ് — മൈഗ്രേഷനുകൾ, ബാക്കപ്പുകൾ, ഐസൊലേഷൻ, യഥാർത്ഥ കാഷിംഗ്, സത്യസന്ധമായ സ്കേലിംഗ് — കൂടാതെ നിങ്ങൾ പ്രതിജ്ഞാബദ്ധരാകുന്നതിന് മുമ്പ് ഇത് എങ്ങനെ വിലയിരുത്താം.

പോസ്റ്റ് വായിക്കുക →

ബ്ലോഗ് വായിക്കുക →

ഇപ്പോഴും പ്രശ്നം നേരിടുന്നുണ്ടോ?

ഓരോ പ്ലാനിലും സപ്പോർട്ട് ലഭ്യമാണ്, ഡെസ്ക് ദിവസത്തിൽ 24 മണിക്കൂറും പ്രവർത്തിക്കുന്നു, കൂടാതെ ഞങ്ങളുടെ 58 ഭാഷകളിൽ ഏതിലും നിങ്ങൾക്ക് ഞങ്ങൾക്ക് എഴുതാം — ഞങ്ങൾ നിങ്ങളുടെ സ്വന്തം ഭാഷയിൽ മറുപടി നൽകും.

പിന്തുണയുമായി ബന്ധപ്പെടുക → എല്ലാ ലേഖനങ്ങളും →