ಜ್ಞಾನ ನೆಲೆ

zinnector dev ನೊಂದಿಗೆ ಸ್ಥಳೀಯ ಅಭಿವೃದ್ಧಿ

zinnector dev ನಿಮ್ಮ ಸ್ವಂತ ಯಂತ್ರದಲ್ಲಿ ನೈಜ WordPress ಅನ್ನು ಹೇಗೆ ರೇನ್ ಮಾಡುತ್ತದೆ: ಎರಡು ರನ್ಟೈಮ್‌ಗಳು (ಡಾಕರ್ ಇಲ್ಲದ WebAssembly, ಅಥವಾ ಡಾಕರ್‌ನಲ್ಲಿ ಸ್ಥಳೀಯ PHP), PHP ಮತ್ತು WordPress ಆವೃತ್ತಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು, ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್‌ನಿಂದ ಏನು ಸರ್ವ್ ಮಾಡಲಾಗುತ್ತದೆ, 570 MB ರನ್ಟೈಮ್ ಎಲ್ಲಿ ಇರುತ್ತದೆ ಮತ್ತು Node 26 ನಲ್ಲಿ ಏನು ಸಂಭವಿಸುತ್ತದೆ.

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    # 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 ಬರೆಯುತ್ತದೆ ಮತ್ತು ನೀವು ಅದನ್ನು ಕಮಿಟ್ ಮಾಡಬೇಕು, ಇದರಿಂದ ಪ್ರಾಜೆಕ್ಟ್‌ನಲ್ಲಿರುವ ಪ್ರತಿಯೊಬ್ಬರೂ ಒಂದೇ ಆವೃತ್ತಿಗಳನ್ನು ಚಾಲನೆ ಮಾಡುತ್ತಾರೆ. ಕಮಾಂಡ್ ಲೈನ್‌ನಲ್ಲಿರುವ ಫ್ಲ್ಯಾಗ್ ಆ ರನ್‌ಗಾಗಿ ಫೈಲ್‌ಗಿಂತ ಆದ್ಯತೆ ಪಡೆಯುತ್ತದೆ.

ನೀವು ಘೋಷಿಸುವ ಆವೃತ್ತಿ ಮತ್ತು ಚಾಲನೆಯಾಗುವ ಆವೃತ್ತಿ ವಿಭಿನ್ನ ಸಂಗತಿಗಳಾಗಿವೆ. 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® ರನ್‌ಟೈಮ್‌ಗಾಗಿ ಮಾತ್ರ nodejs.org ಪ್ರಕಟಿಸುವ ಚೆಕ್‌ಸಮ್‌ಗಳ ವಿರುದ್ಧ ಪರಿಶೀಲಿಸಲಾದ ಸುಮಾರು 30 MB ಯ Node 24 ಅನ್ನು ಅದೇ ಕ್ಯಾಶ್‌ಗೆ ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ. ಇನ್‌ಸ್ಟಾಲ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ವಯಿಸಿದಾಗ ಹಾಗೆ ಹೇಳುತ್ತದೆ. ನಿಮ್ಮ ಸ್ವಂತ Node ಬಗ್ಗೆ ಏನೂ ಬದಲಾಗುವುದಿಲ್ಲ.

ಸಂಬಂಧಿತ

ಇನ್ನಷ್ಟು ಸಿಲುಕಿಕೊಂಡಿದ್ದೀರಾ?

ಪ್ರತಿ ಪ್ಲಾನ್‌ನಲ್ಲಿಯೂ ಬೆಂಬಲ ಲಭ್ಯವಿದೆ ಮತ್ತು ನಿಮ್ಮ ಸ್ವಂತ ಭಾಷೆಯಲ್ಲಿ ಉತ್ತರಗಳು ಸಿಗುತ್ತವೆ.

ಬೆಂಬಲವನ್ನು ಸಂಪರ್ಕಿಸಿ ಎಲ್ಲಾ ಲೇಖನಗಳು
zinnector dev ನೊಂದಿಗೆ ಸ್ಥಳೀಯ ಅಭಿವೃದ್ಧಿ