ثلث مواقع PHP على نسخ بلا إصلاحات، و8.2 هو التالي
بحسب مسح W3Techs بتاريخ 22 أكتوبر 2026، يعمل 34.7% من المواقع التي تستخدم PHP على PHP 7 أو أقدم، وكل هذه الإصدارات انتهى دعمها. وفي اليوم نفسه تُظهر صفحة الإصدارات المدعومة على php.net أن الدعم الأمني لـ PHP 8.2 ينتهي في 31 ديسمبر 2026، أي بعد 70 يومًا. إن كنت مسؤولًا عن مواقع عملاء أو حساب استضافة مشتركة أو تطبيق داخلي قديم، فهذا وقت معرفة موقع كل منها من هذا الخط، فقد أظهرت النشرة الأمنية عن ثغرات النواة في 21 أكتوبر ثمن الوقوف على الجانب الخطأ منه.
ما يقوله المسح وما لا يقوله
تقول W3Techs إن PHP مستخدمة في 69.3% من المواقع التي تستطيع تحديد لغتها على الخادم. ومن مواقع PHP هذه: الإصدار 8 بنسبة 65.3%، والإصدار 7 بنسبة 26.9%، والإصدار 5 بنسبة 7.7%، والإصدار 4 بنسبة 0.1%. ويلزم تحفظان بجانب هذه الأرقام. الأول أن المسح لا يرى إلا ما يظهر من الخارج، فالموقع الذي يخفي إصداره لا يدخل في التوزيع. والثاني أنه يكتفي بالإصدار الرئيسي: نسبة 65.3% للإصدار 8 تشمل 8.0 و8.1 المنتهي دعمهما، و8.2 الذي يقترب من النهاية. فالنسبة الحقيقية للمواقع خارج الدعم 34.7% على الأقل.
والنمط العام معروف: تبقى نسخ PHP القديمة لأسباب عادية. استضافة مشتركة تُبقي إصدارًا قديمًا متاحًا حتى لا يتعطل شيء، أو وكالة سلّمت موقعًا قبل سنوات ولم يعد أحد مسؤولًا عن ترقيته، أو إضافة أو حزمة ثبّتت بيئة التشغيل ولم تُستبدل. لا شيء من ذلك يظهر في المتصفح، ولهذا تحديدًا يستمر.
ما معنى الدعم الأمني فقط
يمنح php.net كل فرع سنتين من الدعم النشط بعد أول إصدار مستقر، ثم سنتين أخريين من إصلاحات الثغرات الحرجة فقط، تصدر عند الحاجة، ثم نهاية الدعم. الدعم الأمني فقط يعني أن الأخطاء العادية تبقى بلا إصلاح، ولا يصدر شيء إلا للثغرات الخطيرة. وبعد تاريخ النهاية لا يصدر شيء أصلًا، ويقول المشروع نفسه إن مستخدمي الإصدارات المنتهية قد يكونون مكشوفين لثغرات بلا ترقيع.
ونشرة أكتوبر مثال واضح: تنص على أن PHP 8.1 وما قبله لم يعد يصله تحديث من مشروع PHP. ومع ذلك، ولخطورة الثغرات، نشر فريق الأمن نقلًا مصدريًا مختصرًا للإصدارات 7.4 و8.0 و8.1، لهذا الإصدار وحده، ولمن يبني PHP من المصدر فقط. وقراءتي، وهي استنتاج لا وعد من أحد، أنك لا يجب أن تبني خطتك على تكرار ذلك.
خطة ترقية بتواريخ
التواريخ من php.net مباشرة. 8.3 يتلقى إصلاحات أمنية حتى 31 ديسمبر 2027. و8.4 في الدعم النشط حتى 31 ديسمبر 2026، ثم إصلاحات أمنية حتى 31 ديسمبر 2028. و8.5 في الدعم النشط حتى 31 ديسمبر 2027، ثم إصلاحات أمنية حتى 31 ديسمبر 2029. لموقع على 8.2 اليوم، الهدف المعقول 8.4 أو 8.5، أما 8.3 فيشتري سنة واحدة ثم تعيد العمل كله قريبًا. وقبل تبديل بيئة التشغيل تأكد أن اعتماديات المشروع تقبلها:
# the version the command line runs
php -r 'echo PHP_VERSION, PHP_EOL;'
# run under the target PHP: do the dependencies accept it?
composer check-platform-reqs
وتذكّر أن سطر الأوامر وخادم الويب قد يشغّلان نسختين مختلفتين، فتأكد أيضًا من النسخة التي تخدم الطلبات.
وإن كان غيرك يدير الخادم، فاسأل ثلاثة أسئلة كتابةً: ما نسخة PHP التي يعمل بها الموقع في الإنتاج لطلبات الويب؟ في أي تاريخ سينتقل إلى 8.4 أو 8.5؟ ومن يطبّق إصدارات PHP الأمنية، وهل طُبّقت إصدارات 21 أكتوبر؟
خطوة اليوم: اكتب قائمة بمواقعك، وبجانب كل اسم نسخة PHP التي يخدم بها، وأعطِ كل ما هو أقدم من 8.3 تاريخ ترقية قبل نهاية العام. المصدر: صفحة الإصدارات المدعومة على php.net.
ملاحظات القراء