منصوبے کے بارے میں

PHP ایک عمومی مقصد کی اسکرپٹنگ زبان ہے جو ویب ڈیولپمنٹ کے لیے تیار کی گئی ہے۔ یہ ریپوزٹری، php/php-src، PHP انٹرپریٹر کے سرکاری سورس کوڈ پر مشتمل ہے اور اسے Modified BSD License (BSD-3-Clause) کے تحت تقسیم کیا جاتا ہے۔ README دستاویزات کے لیے سرکاری دستی php.net/docs کی طرف اشارہ کرتا ہے۔ جو صارفین سورس سے تعمیر نہیں کرنا چاہتے، ان کے لیے پہلے سے تیار شدہ پیکیجز اور بائنریز دستیاب ہیں: ونڈوز بائنریز windows.php.net سے آتی ہیں، اور دیگر سسٹمز کے لیے تنصیب کی رہنمائی دستی کے انسٹالیشن باب میں دی گئی ہے۔ سورس سے تعمیر کرنے کے لیے کم از کم autoconf، bison اور re2c درکار ہیں؛ ایک عام تعمیر کے لیے مزید libxml2 اور libsqlite3 کی ضرورت ہوتی ہے۔ README میں Ubuntu، Fedora، macOS (Homebrew) اور macOS (MacPorts) کے لیے پیکیج انسٹال کرنے کے کمانڈز درج ہیں۔ تعمیر کا عمل یہ ہے: configure بنانے کے لیے ./buildconf چلائیں، پھر ./configure چلائیں (ڈیولپمنٹ کے لیے --enable-debug تجویز کیا جاتا ہے)، پھر make -j4 چلائیں، جہاں بہتر ہے کہ جاب کی تعداد nproc کے مطابق دستیاب کورز کے برابر ہو۔ ونڈوز صارفین کے لیے PHP وکی پر علیحدہ مرحلہ وار تعمیراتی گائیڈ دی گئی ہے۔ جانچ کامیاب کمپائلیشن کے بعد make test کے ذریعے چلائے جانے والے ایک وسیع بنڈل ٹیسٹ سویٹ سے ہوتی ہے۔ ٹیسٹ بطور ڈیفالٹ متوازی چلتے ہیں اور زیادہ سے زیادہ 10 منطقی پروسیسرز استعمال کرتے ہیں؛ ورکرز کی تعداد TEST_PHP_ARGS یا TESTS میں -jN کے ذریعے تبدیل کی جا سکتی ہے، اور مخصوص ڈائریکٹریز کو نشانہ بنایا جا سکتا ہے، مثلاً make TESTS=tests/lang/ test۔ qa.php.net سائٹ مزید جانچ اور کوالٹی ایشورنس کی معلومات فراہم کرتی ہے۔ کامیاب تعمیر اور جانچ کے بعد make install PHP انسٹال کرتا ہے، جس کے لیے پریفکس اور اجازتوں کے لحاظ سے سپر یوزر اختیارات درکار ہو سکتے ہیں۔ ایکسٹینشنز بہت سی ضروری بنڈل ایکسٹینشنز کے علاوہ فعالیت شامل کرتی ہیں۔ اضافی ایکسٹینشنز Packagist پر PIE Extensions صفحہ پر درج ہیں اور انہیں PIE (PHP Installer for Extensions) یا متروک PECL کے ذریعے انسٹال کیا جا سکتا ہے۔ تعاون ریپوزٹری کو فورک کرنے اور پل ریکویسٹ کھولنے کے ذریعے خوش آمدید ہے۔ گفتگو GitHub پر ہوتی ہے اور اسے internals@lists.php.net ڈویلپر میلنگ لسٹ میں بھی بھیجا جا سکتا ہے۔ نئی خصوصیات کے لیے ایک منظور شدہ RFC درکار ہے، جس کی تفصیلات وکی کے RFC اور ووٹنگ صفحات پر موجود ہیں؛ بگ فکسز کے لیے RFC کی ضرورت نہیں۔ کمٹ پیغامات میں GitHub ایشوز کا حوالہ GH-NNNNNN یا پرانے بگ ٹریکر ٹکٹس کا حوالہ #NNNNNN کے طور پر دینا چاہیے۔ README مزید معاون دستاویزات کے لنکس فراہم کرتا ہے: CONTRIBUTING.md، CODING_STANDARDS.md، اندرونی دستاویزات، میلنگ لسٹ کے اصول اور ریلیز کا عمل۔ ایک کریڈٹس صفحہ معاونین کی فہرست دیتا ہے۔