zinnector dev तुमच्या स्वतःच्या मशीनवर एक खरे WordPress चालवते, तुमच्या प्रोजेक्टमधील प्लगइन्स आणि थीम्स सर्व्ह करते, आणि तेही तुम्ही निवडलेल्या PHP व्हर्जनसह. हा लेख ते वापरू शकणाऱ्या दोन रनटाईम्सबद्दल, व्हर्जन्स कशी निवडायची, कुठून काय सर्व्ह केले जाते आणि रनटाईम डिस्कवर कुठे राहतो याबद्दल माहिती देतो — जेणेकरून तुम्ही जे स्थानिक पातळीवर टेस्ट करता, तेच तुम्ही डिप्लॉय करता.
दोन रनटाईम्स, आणि दोन्ही खरे का आहेत
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 # एका विशिष्ट जोडीसह डेव्हलप करा
zinnector dev --port 9401 # 9400 वापरले असल्यास
zinnector dev --no-login # wp-admin मध्ये आपोआप साइन इन करू नका
zinnector dev --verbose # रनटाईमचे स्वतःचे आउटपुट दाखवा
डीफॉल्ट व्हॅल्यूज प्रोजेक्टमधील 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 सह ठेवते आणि म्हणूनच जोपर्यंत तुम्ही त्यात थीम टाकत नाही तोपर्यंत त्या कशावरही प्रभाव पाडत नाहीत.
रनटाईम कुठे राहतो
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® फक्त रनटाईमसाठी Node 24 (सुमारे 30 MB), जे nodejs.org प्रकाशित करत असलेल्या चेकसम्सनुसार तपासले जाते, त्याच कॅशेमध्ये आणते. लागू झाल्यावर इन्स्टॉल प्रॉम्प्ट तसे स्पष्टपणे दर्शवते. तुमच्या स्वतःच्या Node मध्ये कोणताही बदल होत नाही.
संबंधित