Το 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. Είναι πιο αργό, απαιτεί έναν δαίμονα Docker και περίπου 1,2 GB ειδώλων, και υποστηρίζει 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 και το οποίο θα πρέπει να υποβάλετε (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), ποτέ μέσα στο έργο σας, ώστε να μην καταλήξει στο αποθετήριό σας ή στο δέντρο αρχείων που καταμετρά το zinnector push. Η λήψη πραγματοποιείται από το δικό σας npm, το οποίο εκτελείται ως node npm-cli.js — ποτέ μέσω κελύφους.
Η έκδοση του περιβάλλοντος εκτέλεσης είναι κλειδωμένη στην έκδοση του CLI, ώστε δύο προγραμματιστές στο ίδιο έργο να εκτελούν τις ίδιες δομές PHP. Η εντολή zinnector dev --reset-runtime απορρίπτει το εγκατεστημένο περιβάλλον εκτέλεσης και το εγκαθιστά ξανά, αποτελώντας τη λύση για ένα περιβάλλον εκτέλεσης που εγκαταστάθηκε αλλά δεν εκκινείται.
Σε Node 26 ή νεότερο
Το ίδιο το CLI εκτελείται σε οποιαδήποτε έκδοση Node από την 24 και άνω. Η εγγενής μονάδα (native module) του περιβάλλοντος εκτέλεσης, ωστόσο, παρέχει προμεταγλωττισμένα δυαδικά αρχεία μόνο για το Node 24 και 25 (από τον Σεπτέμβριο του 2026). Αντί να μεταγλωττίσει οτιδήποτε — κάτι που στα Windows σημαίνει εγκατάσταση του Visual Studio — το Zinnector® λαμβάνει μια έκδοση του Node 24 αποκλειστικά για το περιβάλλον εκτέλεσης, μεγέθους περίπου 30 MB, επαληθευμένη βάσει των αθροισμάτων ελέγχου που δημοσιεύει το nodejs.org, στην ίδια προσωρινή μνήμη. Το μήνυμα εγκατάστασης το αναφέρει όταν ισχύει. Τίποτα στη δική σας εγκατάσταση Node δεν αλλάζει.
Σχετικά