zinnector dev ਤੁਹਾਡੀ ਆਪਣੀ ਮਸ਼ੀਨ 'ਤੇ ਇੱਕ ਅਸਲ WordPress ਚਲਾਉਂਦਾ ਹੈ, ਜੋ ਤੁਹਾਡੇ ਵੱਲੋਂ ਚੁਣੇ ਗਏ PHP ਸੰਸਕਰਣ ਦੇ ਨਾਲ, ਤੁਹਾਡੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਪਲੱਗਇਨਾਂ ਅਤੇ ਥੀਮਾਂ ਨੂੰ ਸਰਵ ਕਰਦਾ ਹੈ। ਇਹ ਲੇਖ ਉਹਨਾਂ ਦੋ ਰਨਟਾਈਮਾਂ ਬਾਰੇ ਦੱਸਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ ਇਹ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹੈ, ਸੰਸਕਰਣ ਕਿਵੇਂ ਚੁਣਨੇ ਹਨ, ਕਿੱਥੋਂ ਕੀ ਸਰਵ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਰਨਟਾਈਮ ਡਿਸਕ 'ਤੇ ਕਿੱਥੇ ਰਹਿੰਦਾ ਹੈ — ਤਾਂ ਜੋ ਤੁਸੀਂ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਜੋ ਟੈਸਟ ਕਰਦੇ ਹੋ ਉਹੀ ਤੁਸੀਂ ਤੈਨਾਤ (deploy) ਕਰੋ।
ਦੋਵੇਂ ਰਨਟਾਈਮ, ਅਤੇ ਦੋਵੇਂ ਅਸਲ ਕਿਉਂ ਹਨ
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 ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ — ਪਰ ਇਹ ਪੂਰੇ ਐਕਸਟੈਂਸ਼ਨ ਸੈੱਟ ਦੇ ਨਾਲ ਇੱਕ ਮੂਲ PHP ਚਲਾਉਂਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ imagick ਅਤੇ gd ਸ਼ਾਮਲ ਹਨ। ਇਹ ਈਮਾਨਦਾਰ ਜਵਾਬ ਉਦੋਂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਤੁਹਾਨੂੰ ਉਸ ਐਕਸਟੈਂਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਜੋ 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® ਸਿਰਫ਼ ਰਨਟਾਈਮ ਲਈ ਇੱਕ Node 24 ਲਿਆਉਂਦਾ ਹੈ, ਲਗਭਗ 30 MB, ਜੋ ਕਿ nodejs.org ਦੁਆਰਾ ਪ੍ਰਕਾਸ਼ਿਤ ਚੈੱਕਸਮਾਂ ਦੇ ਵਿਰੁੱਧ ਪ੍ਰਮਾਣਿਤ ਹੈ, ਉਸੇ ਕੈਸ਼ੇ ਵਿੱਚ। ਇੰਸਟੌਲ ਪ੍ਰੋਂਪਟ ਅਜਿਹਾ ਕਹਿੰਦਾ ਹੈ ਜਦੋਂ ਇਹ ਲਾਗੂ ਹੁੰਦਾ ਹੈ। ਤੁਹਾਡੇ ਆਪਣੇ Node ਬਾਰੇ ਕੁਝ ਵੀ ਨਹੀਂ ਬਦਲਦਾ।
ਸੰਬੰਧਿਤ