معلوماتی مرکز

zinnector dev کے ساتھ مقامی ڈیولپمنٹ

کس طرح zinnector dev آپ کی اپنی مشین پر ایک حقیقی WordPress چلاتا ہے: دو رن ٹائمز (بغیر Docker کے WebAssembly، یا Docker میں مقامی PHP)، ایک PHP اور WordPress ورژن کا انتخاب، آپ کے پروجیکٹ سے کیا پیش کیا جاتا ہے، 570 MB کا رن ٹائم کہاں رہتا ہے، اور Node 26 پر کیا ہوتا ہے۔

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® صرف رن ٹائم کے لیے تقریباً 30 MB کا Node 24، جسے nodejs.org کے شائع کردہ چیک سمز سے تصدیق شدہ کیا گیا ہو، اسی کیشے میں حاصل کرتا ہے۔ لاگو ہونے پر انسٹال پرامپٹ اس کی اطلاع دیتا ہے۔ آپ کے اپنے Node میں کچھ بھی تبدیل نہیں ہوتا۔

متعلقہ

تمام ڈویلپر دستاویزات →

بلاگ کی تازہ ترین تحریریں

ہم ہوسٹنگ، SEO اور بڑے پیمانے پر سائٹس چلانے کے بارے میں کیا لکھتے رہے ہیں۔

ہوسٹنگ لیئر سے SEO اور لنک بلڈنگ: 2026 کے آپریٹر کا نقطہ نظر

2026 میں ہوسٹنگ کس طرح انڈیکسنگ اور لنک ایکویٹی کو تشکیل دیتی ہے: صفحات کو انڈیکس میں رکھنا، پرانے ڈومینز پر کام شروع کرنے سے پہلے ان کی جانچ پڑتال، بنا کسی فٹ پرنٹ کے لنک بلڈنگ، اور اس بارے میں ایک ایماندارانہ مؤقف کہ بنیادی ڈھانچہ SEO کے لیے کیا کر سکتا ہے اور کیا نہیں۔

پوسٹ پڑھیں ←

WordPress کو تیز رفتار اور محفوظ بنانا: کارکردگی اور پلگ ان کی چیک لسٹ

تیز رفتار اور محفوظ WordPress کے لیے ایک عملی چیک لسٹ: سرور لیول کیشنگ، ہر سائٹ کے لیے آبجیکٹ کیش، چند مفید پلگ انز، اسٹیک کو اپ ٹو ڈیٹ رکھنا، اور WooCommerce کے وہ صفحات جنہیں آپ کو کبھی بھی کیش نہیں کرنا چاہیے۔

پوسٹ پڑھیں ←

2026 میں مینیجڈ ویب ہوسٹنگ کا انتخاب کیسے کریں: خریدار کی رہنمائی

ایک اچھے مینیجڈ ہوسٹنگ اور کنٹرول پینل والے سستے سرور کے درمیان اصل فرق کیا ہے — منتقلی، بیک اپس، تنہائی، حقیقی کیشنگ اور دیانت دارانہ اسکیلنگ — اور اس کا انتخاب کرنے سے پہلے اس کا اندازہ کیسے لگائیں۔

پوسٹ پڑھیں ←

بلاگ پڑھیں ←

کیا اب بھی دشواری پیش آ رہی ہے؟

ہر پلان میں سپورٹ شامل ہے، ہیلپ ڈیسک دن کے 24 گھنٹے کھلا رہتا ہے، اور آپ ہماری کسی بھی 58 زبانوں میں ہمیں لکھ سکتے ہیں—ہم آپ کی اپنی زبان میں جواب دیتے ہیں۔

سپورٹ سے رابطہ کریں → تمام مضامین →