تقدم AccuWebHosting استضافة PHP 7
نشرت: 2015-12-07وضع فريق تطوير PHP حداً للانتظار الطويل لمشرفي المواقع ، معلناً التوفر الفوري لـ PHP 7. تم إطلاق PHP 7 ، الإصدار التالي من أشهر لغات البرمجة النصية في العالم (تشغيل 81٪ من الويب) أخيرًا في 3 ديسمبر 2015.
بعد ثماني سنوات من اكتماله وأسابيع من التأخير في طرحه ، أصبح PHP 7 متاحًا أخيرًا للتنزيل. يمكن لمستخدمي Windows تنزيل ثنائيات PHP 7 Windows من هنا. مع أحدث إصدار من PHP ، هناك العديد من التغييرات التي تم إدخالها ، لذا فإن PHP 7 بالتأكيد ليست متوافقة مع الإصدارات السابقة مع كود PHP 4 القديم ، على الرغم من أنها يجب أن تعمل بسلاسة مع كود PHP 5.x. للتحقق من التغييرات المدخلة في PHP 7 ، ارجع إلى سجل التغيير.
الفوائد الرئيسية لـ PHP 7
يحتوي PHP 7 على الحد الأدنى من التعديلات في بناء الجملة ويضع مزيدًا من التركيز على تحسين الأداء. في الأشهر القليلة الماضية ، تم إجراء عدد من المعايير على PHP 7 وزُعم أن PHP 7 أسرع بنسبة 200٪ تقريبًا من سابقتها (PHP 5.x).
سيتم تشغيل PHP 7 على أحدث محرك ، وهو PHPNG (PHP Next Generation) ، حيث يتنافس مع المترجمين الفوريين مثل HHVM من Facebook. لقد تفوقت HHVM على PHP لسنوات ، مما شجع فريق مطوري PHP 7 على تحسين الكفاءة. بفضل PHPNG ، أصبح محرك PHP 7 الأساسي الآن أكثر ملاءمة لوحدة المعالجة المركزية والذاكرة.
استنادًا إلى المعايير التي تم إجراؤها على PHP 7 ، يعمل محرك PHPNG على خفض استخدام الذاكرة ووحدة المعالجة المركزية إلى النصف عند مقارنتها بأحدث إصدارات 5.6.
نناقش هنا بعضًا من أكثر الميزات الجديدة إثارة التي ستتوفر عند الترقية إلى PHP 7.
مشغلين جدد
يأتي PHP 7 مع عاملين جديدين ، وهما سفينة الفضاء (أو عامل المقارنة المشترك) وعامل الاندماج الصفري .
عامل تشغيل سفينة الفضاء (<=>) يستخدم لجعل المقارنة بالسلاسل أكثر إيجازًا. فمثلا:
var1 $ <=> $ var2
يتم تقييم هذا التعبير على النحو التالي:
-1 إذا كان $ var1 أصغر من $ var2 ، 0 إذا كان $ var1 يساوي $ var2 و 1 إذا كان $ var1 أكبر من $ var2 ،
وهو في الأساس اختصار للتعبير التالي:
(var1 $ <$ var2)؟ -1: (($ var1> $ var2)؟ 1: 0)
يمكن استخدام عامل الاندماج الصفري (؟؟) كاختصار لحالة الاستخدام الشائعة. على سبيل المثال ، باستخدام PHP 5.x ، ستفعل شيئًا كالتالي:
$ var1 = مجموعة الإصدار ($ var2)؟ var2 $: "افتراضي"؛
يمكن كتابة نفس التعبير باستخدام عامل الاندماج الصفري في PHP 7 على النحو التالي:
var1 $ = $ var2 ؟؟ "إفتراضي"؛
تلميحات النوع العددي
تعد Scalar Type Hints واحدة من أكثر الميزات إثارة للإعجاب في أحدث إصدار من PHP. يمكنك استخدام الأعداد الصحيحة ، والعوامات ، والسلاسل ، والمنطقية كتلميحات عن الكتابة للوظائف والأساليب. بعبارة أخرى ، عندما تقوم بتمرير قيمة عائمة إلى معلمة عدد صحيح ، فإن Scalar Type Hints يقوم فقط بإجبارها على عدد صحيح دون توليد أي أخطاء أو تحذيرات. ومع ذلك ، عندما يتم تمكين الوضع المقيد ، فإنه سيؤدي إلى ظهور أخطاء عند تمرير النوع الخطأ كوسيطة.
<؟ php وظيفة مزدوجة (قيمة $ int) { إرجاع 2 * قيمة دولار ؛ } $ var = double ("8") ؛ var_dump ($ var) ؛
لن ينتج عن الكود أعلاه أي أخطاء عند تعطيل الوضع المتشدد. بالإضافة إلى ذلك ، فإن السلسلة "8" التي تم تمريرها كوسيطة سيتم إجبارها على عدد صحيح داخل الدالة المزدوجة. إذا قمنا بتمكين الوضع المقيد بتضمين الأمر التصريح (Strict_types = 1) في السطر الأول في الكود أعلاه ، فلن يُسمح إلا للأعداد الصحيحة بالمرور إلى الوظيفة المزدوجة.
<؟ php تعلن (Strict_types = 1) ؛ وظيفة مزدوجة (قيمة $ int) { إرجاع 2 * قيمة دولار ؛ } $ var = double ("8") ؛ var_dump ($ var) ؛
عند تمكين الوضع المتشدد ، سيولد الرمز أعلاه خطأ فادحًا.
نوع الإرجاع تلميحات
تتيح لك تلميحات نوع الإرجاع تحديد نوع الإرجاع للأساليب والوظائف. يتصرف بنفس طريقة تلميحات الكتابة العددية من حيث الإكراه والوضع الصارم:
<؟ php الوظيفة أ (): منطقي { العودة 1 ؛ } var_dump (a ()) ؛
عند تنفيذ الكود أعلاه ، سيتم تحويل القيمة التي تم إرجاعها إلى منطقي تلقائيًا دون أي أخطاء أو تحذيرات. عند تمكين الوضع المتشدد ، سيتم إلقاء خطأ فادح.
HHVM مقابل PHP 7
HHVM هو الجهاز الظاهري الذي أنشأه مطورو Facebook لتنفيذ تطبيقات PHP. في عام 2008 ، طور فريق Facebook أداة لتحويل نص PHP إلى C ++ بحيث يمكن تجميعها وتنفيذها على خوادم الويب. كان الهدف الأساسي هو تقليل استخدام موارد الخادم واستيعاب حركة مرور تزيد بمقدار خمسة إلى ستة أضعاف عن السعة الفعلية للخادم. من أجل التغلب على هذه التحديات ، طور Facebook جهاز HipHop Virtual Machine (HHVM). أدى هذا التغيير إلى زيادة سعة الخادم لاستيعاب زيادة بنسبة 500-600٪ في حركة مرور الويب.
في هذه المرحلة ، قد تسأل: "ما الذي يجعل HHVM سريعًا جدًا؟"
بدلاً من تجميع كود PHP إلى C ++ ، استخدم HHVM تجميع Just-In-Time (JIT) لتحويل كود PHP إلى كود ثنائي متوسط. يتم بعد ذلك ترجمة الرمز الثانوي هذا إلى رمز الجهاز x64. الآن يأتي مترجم JIT في الصورة ، ويقوم بتشغيل الترجمة ديناميكيًا في وقت التشغيل ، مما يسمح بجميع التحسينات الممكنة. نتيجة لذلك ، سيزداد أداء تطبيقات PHP بشكل كبير.
PHP 7 أو PHPNG هو المنافس الحقيقي واستجابة المجتمع لـ HipHop Virtual Machine. تفوق HHVM بشكل واضح على الإصدارات السابقة من PHP ، لكن الاختبارات المعيارية الأخيرة تشير إلى أن PHP 7 أسرع قليلاً من HHVM في مواقف معينة. دعنا نلقي نظرة على نتائج بعض الاختبارات المعيارية التي أجرتها ZEND على بعض التطبيقات الشائعة ، مثل WordPress و Magento و Drupal:
Magento HHVM 3.7 مقابل PHP 7
استنتاجًا من الرسم البياني أدناه ، يمكنك إجراء ما يصل إلى 3 أضعاف طلبات خادم كتالوج Magento على نفس الجهاز ويستخدم PHP 7 ذاكرة أقل بنسبة 30٪.
المصدر: www.zend.com
ووردبريس HHVM 3.7 مقابل PHP 7
وفقًا للنتائج الموضحة ، لا يوجد فرق كبير بين HHVM 3.7 و PHP 7. الحقيقة الأكثر إثارة للاهتمام هي أن PHP 7 استخدمت 25٪ فقط من عمليات تنفيذ الخادم مقارنةً بتطبيقات PHP 5.6. وبالتالي ، فإن الخوادم ذات السعة نفسها ستكون قادرة على خدمة عدد أكبر من المستخدمين.
المصدر: www.zend.com
دروبال HHVM 3.7 مقابل PHP 7
يشير الرسم البياني إلى أن PHP 7 أسرع بكثير من HVVM ، ومن المثير للاهتمام أن Drupal 8 يعمل بشكل أسرع بنسبة 72٪ على PHP 7 مقارنة بـ PHP 5.6.
المصدر: www.zend.com
معايير أخرى
يمكنك أيضًا الرجوع إلى المعايير التي قام بها Rasmus Lerdorf في PHP Australia. استخدم مفاتيح الأسهم للتنقل عبر الشرائح.
ما الذي يجب أن أذهب معه؟
قبل PHP 7 أو PHPNG ، كان HHVM بالتأكيد أسرع من حزم PHP-Zend لجميع إصدارات PHP. أظهرت PHP 7 أداءً أفضل ضد HHVM لمعظم النصوص في معظم المعايير.
تستخدم مواقع الويب الكبيرة مثل Etsy و Wikimedia Foundation HHVM ، لكن الأمر استغرق أكثر من ستة أشهر للتبديل الكامل من حزمة PHP-Zend إلى حزمة PHP-HHVM. بمعنى آخر ، لا يعد التبديل من حزمة PHP-Zend إلى حزمة PHP-HHVM مهمة ليلية. بالنسبة لأصحاب مواقع الويب الصغيرة ، سيكون الانتقال إلى PHP 7 أسهل بكثير ، مقارنةً بالانتقال المعقد إلى HHVM ، والذي يتطلب المزيد من الخبرة.
استضافة PHP 7 بواسطة AccuWebHosting
ليس من المستغرب أن يكون AccuWebHosting من أوائل مضيفي الويب الذين يقدمون استضافة PHP 7. لقد انتظر فريق الاختبار المتحمس لدينا منذ فترة طويلة أحدث إصدار من PHP. في اليوم التالي بعد إصدار PHP 7 ، انتهز الفريق الفرصة لاختبار PHP 7 على البنية الأساسية لاستضافة الويب لدينا.
نحن فخورون بتقديم دعم PHP 7 على كل من Linux Shared SSD Hosting و WordPress Hosting.
يوفر AccuWebHosting مكونًا إضافيًا لتهيئة PHP على خطط Linux Shared / Reseller ، مما يسمح للعملاء بتعيين إصدار PHP 7 للأدلة والمجالات. يمكن لعملاء استضافة SSD المشتركة على نظام Linux واستضافة WordPress استخدام المقالات التالية للتغيير من إصدار PHP الأقدم إلى 7:
تغيير إصدار PHP من cPanel
دعم PHP 7 على خادم مخصص
- باستخدام خادم مخصص لنظام التشغيل Windows ، سيقوم فريق AccuWebHosting بتثبيت وتهيئة PHP 7 عند الطلب.
- حاليًا ، لا تدعم cPanel / WHM PHP 7 ، لذلك لن يكون من الممكن استخدام PHP 7 في الخوادم المخصصة لـ cPanel ، ما لم يتم استخدام نظام التشغيل CloudLinux. بمجرد أن يبدأ cPanel / WHM في دعم PHP 7 ، يمكن إضافته عبر WHM EasyApache.
- يمكن لعملاء خادم Linux المخصص (بدون cPanel) تثبيت وتهيئة PHP 7 وفقًا لمتطلباتهم.
دعم PHP 7 على Windows VPS
تدعم جميع خطط Windows VPS الخاصة بنا PHP 7. سيحتاج عملاء Windows VPS إلى إرسال تذكرة لتثبيت PHP 7 وتكوينه.
دعم PHP 7 على Linux VPS
يمكن لعملاء Linux VPS (بدون cPanel) تثبيت وتهيئة PHP 7 وفقًا لمتطلباتهم. نظرًا لأن cPanel لا يدعم PHP 7 ، يجب على عملاء cPanel VPS الانتظار حتى تقوم cPanel بنشر دعم PHP 7. بمجرد أن تبدأ cPanel في دعم PHP 7 ، يمكن إضافتها عبر EasyApache.