ज्ञान भांडार
zinnector dev सह स्थानिक विकास
झिनेक्टर डेव्ह (zinnector dev) तुमच्या स्वतःच्या मशिनवर अस्सल WordPress कसे चालवतो: दोन रनटाइम्स (डॉकरशिवाय वेबअसेम्बली, किंवा डॉकरमधील नेटिव्ह PHP), PHP आणि WordPress आवृत्ती निवडणे, तुमच्या प्रोजेक्टमधून काय सर्व्ह केले जाते, ५७० MB चा रनटाइम कुठे असतो, आणि Node 26 वर काय घडते.
zinnector dev तुमच्या स्वतःच्या मशीनवर एक रिअल WordPress चालवते, तुमच्या प्रोजेक्टमधील प्लगइन्स आणि थीम्स सर्व्ह करते, तुमच्या पसंतीच्या PHP व्हर्जनसह. हा लेख ते वापरू शकत असलेल्या दोन रनटाईम्स, व्हर्जन कशी निवडायची, कुठून काय सर्व्ह केले जाते आणि रनटाईम डिस्कवर कुठे राहतो हे स्पष्ट करतो — जेणेकरून तुम्ही ज्याची स्थानिक पातळीवर (locally) चाचणी करता तेच तुम्ही तैनात (deploy) कराल.
दोन रनटाईम्स आणि दोन्ही रिअल का आहेत
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 वर कधीही आपोआप (silently) स्विच केले जात नाही. 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 द्वारे लिहिले जातात आणि जे तुम्ही कमिट केले पाहिजे, जेणेकरून प्रोजेक्टमधील प्रत्येकजण समान व्हर्जन चालवेल. कमांड लाईनवरील फ्लॅग त्या रनसाठी फाईलपेक्षा प्राधान्य घेतो.
तुम्ही घोषित (declare) केलेले व्हर्जन आणि चालणारे (runs) व्हर्जन या वेगवेगळ्या गोष्टी आहेत. 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 जिथे निर्देश करते तिथे), तुमच्या प्रोजेक्टमध्ये कधीही नाही, त्यामुळे ते तुमच्या रिपॉझिटरीमध्ये किंवा zinnector push मोजत असलेल्या ट्रीमध्ये संपू शकत नाही. डाउनलोड तुमच्या स्वतःच्या npm द्वारे केले जाते, जे node npm-cli.js म्हणून चालवले जाते — शेलद्वारे कधीही नाही.
रनटाईम व्हर्जन CLI व्हर्जनशी पिन केलेले असते, त्यामुळे एकाच प्रोजेक्टवरील दोन डेव्हलपर्स समान PHP बिल्ड्स चालवतात. zinnector dev --reset-runtime इंस्टॉल केलेला रनटाईम काढून टाकते आणि तो पुन्हा इंस्टॉल करते, जो इंस्टॉल झालेल्या परंतु बूट न होणाऱ्या रनटाईमसाठी फिक्स आहे.
Node 26 किंवा नवीन वर
CLI स्वतः 24 आणि त्यापुढील कोणत्याही Node वर चालते. रनटाईमचे नेटिव्ह मॉड्यूल, मात्र, केवळ Node 24 आणि 25 साठी (सप्टेंबर 2026 पर्यंत) प्रीबिल्ट बायनरीज पाठवते. कशाचेही कंपाइल करण्याऐवजी — ज्याचा अर्थ Windows वर Visual Studio इंस्टॉल करणे असा होतो — Zinnector® फक्त रनटाईमसाठी, सुमारे 30 MB चे, nodejs.org द्वारे प्रकाशित चेकसम्स विरुद्ध सत्यापित केलेले, तेच कॅशेमध्ये Node 24 आणते. लागू झाल्यावर इंस्टॉल प्रॉम्प्ट तसे सांगते. तुमच्या स्वतःच्या Node बद्दल काहीही बदलत नाही.
संबंधित
अजूनही अडकलात?
प्रत्येक प्लॅनमध्ये सपोर्ट समाविष्ट आहे आणि तो तुमच्या स्वतःच्या भाषेत उत्तरे देतो.
सपोर्टशी संपर्क साधा → सर्व लेख →