Γνωσιακή βάση

Τοπική ανάπτυξη με το zinnector dev

Πώς το zinnector dev εκτελεί ένα πραγματικό WordPress στον δικό σας υπολογιστή: τα δύο περιβάλλοντα εκτέλεσης (WebAssembly χωρίς Docker ή εγγενές PHP σε Docker), η επιλογή έκδοσης PHP και WordPress, τι εξυπηρετείται από το έργο σας, πού βρίσκεται το περιβάλλον εκτέλεσης των 570 MB και τι συμβαίνει στο Node 26.

Το 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 δεν αλλάζει.

Σχετικά

Όλα τα έγγραφα προγραμματιστών →

Τα τελευταία από το ιστολόγιο

Όσα έχουμε γράψει για τη φιλοξενία, το SEO και τη λειτουργία ιστότοπων σε μεγάλη κλίμακα.

SEO και δημιουργία συνδέσμων από το επίπεδο φιλοξενίας: Η οπτική ενός διαχειριστή για το 2026

Πώς η φιλοξενία διαμορφώνει την ευρετηρίαση και τη μεταβίβαση αξίας συνδέσμων το 2026: διατήρηση των σελίδων στην ευρετηρίαση, έλεγχος παλαιών τομέων πριν από την ανάπτυξή τους, δημιουργία συνδέσμων χωρίς ίχνη για τις μηχανές αναζήτησης και μια ειλικρινής ματιά στο τι μπορεί και τι δεν μπορεί να κάνει η υποδομή για το SEO.

Διαβάστε τη δημοσίευση →

Κάνοντας το WordPress γρήγορο και ασφαλές: Μια λίστα ελέγχου απόδοσης και πρόσθετων

Μια πρακτική λίστα ελέγχου για γρήγορο και ασφαλές WordPress: προσωρινή αποθήκευση σε επίπεδο διακομιστή, προσωρινή μνήμη αντικειμένων ανά ιστότοπο, τα ελάχιστα πρόσθετα που αξίζει να χρησιμοποιείτε, διατήρηση της στοίβας ενημερωμένης και οι σελίδες WooCommerce που δεν πρέπει ποτέ να αποθηκεύετε στην προσωρινή μνήμη.

Διαβάστε τη δημοσίευση →

Πώς να επιλέξετε διαχειριζόμενη φιλοξενία ιστοσελίδων το 2026: Ένας οδηγός αγοράς

Τι διαχωρίζει πραγματικά την καλή διαχειριζόμενη φιλοξενία από ένα φθηνό κουτί με πίνακα ελέγχου — μεταφορές, αντίγραφα ασφαλείας, απομόνωση, πραγματική προσωρινή αποθήκευση και ειλικρινή κλιμάκωση — και πώς να την κρίνετε πριν δεσμευτείτε.

Διαβάστε τη δημοσίευση →

Διαβάστε το ιστολόγιο →

Εξακολουθείτε να αντιμετωπίζετε πρόβλημα;

Η υποστήριξη περιλαμβάνεται σε κάθε πρόγραμμα, το γραφείο είναι ανοιχτό 24 ώρες την ημέρα και μπορείτε να μας γράψετε σε οποιαδήποτε από τις 58 γλώσσες μας — σας απαντούμε στη δική σας.

Επικοινωνία με την υποστήριξη → Όλα τα άρθρα →