zinnector dev თქვენსავე კომპიუტერზე უშვებს ნამდვილ WordPress-ს, აწვდის თქვენს პროექტში არსებულ მოდულებსა და თემებს, თქვენ მიერ არჩეული PHP ვერსიით. ეს სტატია განმარტავს ორ გაშვების გარემოს (runtime), რომელთა გამოყენებაც მას შეუძლია, როგორ შეარჩიოთ ვერსიები, რა საიდან მიეწოდება და სად ინახება გაშვების გარემო დისკზე — რათა ის, რასაც ლოკალურად ამოწმებთ, ზუსტად ემთხვეოდეს იმას, რასაც განათავსებთ.
ორი გაშვების გარემო და რატომ არის ორივე რეალური
Playground არის ნაგულისხმევი. WordPress Playground ახდენს PHP-ის კომპილაციას WebAssembly-ში და უშვებს მას Node-ის შიგნით, ასე რომ ლეპტოპი, რომელზეც Node-ის გარდა არაფერია დაინსტალირებული, წამებში უშვებს WordPress-ს. ხელმისაწვდომია ნებისმიერი PHP 5.2-დან 8.5-მდე. მას მოჰყვება PHP გაფართოებების მცირე ნაკრები (intl, redis, memcached, როგორც ეს მიმდინარე ბილდზეა გაზომილი), რაც საკმარისია მოდულებისა და თემების სამუშაოების უმეტესობისთვის.
Docker უშვებს php-fpm-ისა და MariaDB-ის ნატიურ კონტეინერებს. ის უფრო ნელია, საჭიროებს Docker-ის დემონს და დაახლოებით 1.2 გბ მოცულობის იმიჯებს, და მხარს უჭერს PHP 7.4-დან 8.5-მდე — თუმცა იგი უშვებს ნატიურ PHP-ს გაფართოებების სრული ნაკრებით, imagick-ისა და gd-ის ჩათვლით. ეს არის საიმედო გამოსავალი, როდესაც შესამოწმებლად გჭირდებათ გაფართოება, რომელიც WebAssembly-ის ბილდში არ შედის.
zinnector dev # playground
zinnector dev --runtime docker # ნატიური 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 მბ-ია, და დეველოპერს, რომელიც მხოლოდ საიტების ჩამონათვალს ნახულობს, ამის გადახდა არ უნდა უწევდეს. იგი ინახება Zinnector®-ის საკუთარ ქეშში, ~/.cache/zinnector/runtimes/playground/<version> (ან იქ, სადაც ZINNECTOR_CACHE_DIR მიუთითებს) და არასდროს თქვენს პროექტში, რათა არ მოხვდეს თქვენს რეპოზიტორიაში ან იმ ხეში, რომელსაც 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® მხოლოდ გაშვების გარემოსთვის იმავე ქეშში ტვირთავს დაახლოებით 30 მბ მოცულობის Node 24-ს, რომელიც შემოწმებულია nodejs.org-ის მიერ გამოქვეყნებული საკონტროლო ჯამებით. ინსტალაციის მოთხოვნა ამის შესახებ გატყობინებთ, როდესაც ეს საჭირო ხდება. თქვენს პირად Node-ში არაფერი იცვლება.
დაკავშირებული