وصل PHP 8.1 إلى نهاية عمره لدى المشروع الأصلي في 31 ديسمبر 2025، وكان آخر إصدار له من مشروع PHP هو 8.1.34 الصادر في 18 ديسمبر 2025. ومنذ ذلك الحين لا يصدر مشروع PHP أي إصدار جديد من الفرع 8.1، حتى لإصلاح الثغرات الأمنية.
لكن هذا لا يعني تلقائيًا أن كل خادم يعمل بـ PHP 8.1 غير مرقّع، فبعض توزيعات لينكس تواصل نقل الإصلاحات إلى حزم 8.1 الخاصة بها. يشرح هذا المقال الفرق، ويبيّن كيف تعرف وضعك، وكيف تخطط للانتقال إلى فرع مدعوم.
معنى "نهاية العمر" لدى المشروع الأصلي
يحصل كل فرع من PHP على سنتين من الدعم النشط (إصلاح الأخطاء والثغرات في إصدارات منتظمة)، ثم سنتين من إصلاحات الأمان فقط تصدر عند الحاجة. بعد السنوات الأربع ينتهي عمر الفرع ويُدرج في php.net ضمن الفروع غير المدعومة. وبالنسبة إلى 8.1 امتدت هذه الدورة من الإصدار الأول 8.1.0 في 25 نوفمبر 2021 حتى نهاية دعم الأمان في 31 ديسمبر 2025.
وقد أظهر شهر أكتوبر 2026 ما يعنيه ذلك عمليًا؛ فعندما أصلح مشروع PHP ثغرتين حرجتين لتنفيذ الشيفرة عن بُعد، هما CVE-2026-109618 وCVE-2026-109619، صدرت الإصلاحات في الإصدارات 8.2.35 و8.3.36 و8.4.27 و8.5.12. وذكر إعلان PHP صراحةً أن الإصدار 8.1 وما قبله لم تعد تتلقى تحديثات من المشروع. وبسبب خطورة الثغرتين، استثنى فريق الأمان هذه الحالة ونشر رقعًا مصدرية مصغّرة للفروع 7.4 و8.0 و8.1 لمن يبنون PHP من المصدر، لكن دون إصدار رسمي لـ 8.1. وأضافت وكالة CISA الثغرتين إلى فهرس الثغرات المستغلة فعليًا (KEV) في 26 أكتوبر 2026. ولدينا مقال مستقل يتناولهما بالتفصيل: ثغرتان حرجتان في PHP.
الخلاصة: على فرع منتهي العمر تعتمد كليًا على الجهة التي بنت حزم PHP لديك.
أين ما زال PHP 8.1 يتلقى الإصلاحات: Ubuntu 22.04 LTS
يأتي Ubuntu 22.04 LTS (jammy) مع PHP 8.1 نسخةً افتراضية. تحتفظ Ubuntu بالأساس الأصلي 8.1.2 وتنقل الإصلاحات إليه، لذا يظهر النظام المرقّع بالكامل بإصدار مثل 8.1.2-1ubuntu2.28. وبحسب سجل التغييرات، تتضمن هذه الحزمة الصادرة في أكتوبر 2026 إصلاحات CVE-2026-109618 وCVE-2026-109619. أي أداة فحص تقرأ "8.1.2" فقط ستعدّ النظام مصابًا رغم أنه ليس كذلك، والمعتبر هو إصدار الحزمة.
مدة استمرار ذلك تعتمد على دورة حياة Ubuntu وعلى المكوّن الذي تنتمي إليه الحزمة في الأرشيف:
- يحظى Ubuntu 22.04 LTS بصيانة أمنية قياسية حتى مايو 2027 للحزم في مكوّن main. وفي jammy تقع الحزم
php8.1-cliوphp8.1-commonوlibapache2-mod-php8.1في main، بينما تظهرphp8.1-fpmضمن universe، وكلها تُبنى من الحزمة المصدرية نفسهاphp8.1وتُحدَّث معًا. - بعد مايو 2027 تغطي الصيانة الأمنية الموسعة (ESM) عبر Ubuntu Pro مكوّني main وuniverse حتى مايو 2032.
إذن يملك مستخدمو Ubuntu 22.04 اليوم PHP 8.1 مدعومًا ومرقّعًا، لكن الوقت ينفد، والمكتبات وأطر العمل تُسقط 8.1 من متطلباتها تباعًا.
أين لا يتلقى إصلاحات
- Debian: لا يوجد إصدار مدعوم من Debian يأتي مع PHP 8.1؛ فـ Debian 12 (bookworm) يأتي مع 8.2 وDebian 13 (trixie) مع 8.4، أما Debian 11 (bullseye) فكان يأتي مع 7.4 وانتهت فترة دعمه الطويل (LTS) في 31 أغسطس 2026.
- PHP المبني يدويًا أو المضمّن من موردين آخرين: لا إصدارات من المشروع الأصلي بعد الآن، ورقع أكتوبر 2026 المصدرية كانت استثناءً لا وعدًا.
- المستودعات الخارجية التي ما زالت تنشر حزم 8.1: وجود الإصلاحات فيها يعتمد على القائم عليها، فاقرأ سجل تغييراته ولا تفترض.
اعرف ما الذي تشغّله
php -v
ls /etc/php/
systemctl list-units 'php*-fpm*'
apt policy php8.1-fpm php8.1-cli
apt changelog php8.1-cli | head -40يعرض apt policy الإصدار المثبت والمستودع الذي جاء منه، فإن أشار السطر إلى security.ubuntu.com أو أرشيف Ubuntu فهي حزم التوزيعة. ويعرض سجل التغييرات الثغرات التي أصلحها كل تحديث. وعلى الخوادم متعددة المواقع تحقق من المجمّع الذي يستخدمه كل موقع:
grep -rn '^listen' /etc/php/*/fpm/pool.d/التخطيط للانتقال
| وضعك | إصلاحات الأمان اليوم | الخطوة الموصى بها |
|---|---|---|
| Ubuntu 22.04 مع PHP من أرشيف Ubuntu | تحديثات Ubuntu الأمنية، والصيانة القياسية حتى مايو 2027 | الانتقال إلى Ubuntu 24.04 LTS (PHP 8.3) أو 26.04 LTS (PHP 8.5) قبل مايو 2027 |
| PHP 8.1 من مستودع خارجي | ما يوفره القائم على المستودع فقط | الانتقال إلى PHP 8.4 أو 8.5 |
| 8.1 مبني يدويًا أو مضمّن من مورد | لا شيء من مشروع PHP | الانتقال الآن |
اختر الإصدار المستهدف وجدول الدعم أمامك؛ فـ PHP 8.2 نفسه ينتهي عمره في 31 ديسمبر 2026، و8.3 في 31 ديسمبر 2027، لذا فالأهداف المنطقية من 8.1 هي 8.4 (إصلاحات أمان حتى 31 ديسمبر 2028) أو 8.5 (حتى 31 ديسمبر 2029). وإن كنت تعتمد على حزم التوزيعة فإصدار نظام التشغيل هو ما يحدد إصدار PHP: يأتي Ubuntu 24.04 LTS مع 8.3، وUbuntu 26.04 LTS مع 8.5.
اعمل على أدلة الترحيل الرسمية بالترتيب (من 8.1 إلى 8.2، ثم إلى 8.3، ثم إلى 8.4، وإلى 8.5 عند الحاجة). أكثر المفاجآت شيوعًا في هذا النطاق: إهمال الخصائص الديناميكية في 8.2، وإهمال أنواع المعاملات التي تقبل null ضمنيًا في 8.4. اختبر على نسخة تجريبية مع error_reporting = E_ALL وتفعيل التسجيل، وحدّث إطار العمل واعتماديات Composer أولًا.
أما نظام التشغيل نفسه، فبناء خادم جديد بالإصدار الأحدث ونقل المواقع إليه أنظف غالبًا من الترقية في المكان، ويمنحك طريق عودة سهلًا. وإن كنت تعمل على خادم افتراضي من سكاي لاين كلاود، فصورة Ubuntu 24.04 LTS من الصور المتاحة.
ما الذي ينبغي فعله
- أعدّ قائمة بكل خادم وموقع ما زال على PHP 8.1، وسجّل مصدر بناء PHP في كل منها.
- على Ubuntu 22.04 واصل تطبيق التحديثات الأمنية، وتأكد عبر
apt changelogمن وجود الإصلاحات الحديثة، وحدد موعد الانتقال عن 22.04 قبل مايو 2027. - استبدل فورًا أي بناء 8.1 يدوي أو من مستودع خارجي بفرع مدعوم.
- استهدف PHP 8.4 أو 8.5 حتى لا تكرر التجربة عند انتهاء 8.2 و8.3.
- رقِّ أطر العمل والمكتبات أولًا، واختبر مع تسجيل كامل لرسائل الإهمال، وأبقِ الإعداد القديم متاحًا حتى يعمل الجديد دون مشكلات.
المصادر
- php.net/eol.php
- php.net/supported-versions.php
- php.net/ChangeLog-8.php#8.1.34
- php.net/archive/2026.php#2026-10-21-5
- cve.org/CVERecord?id=CVE-2026-109618
- cve.org/CVERecord?id=CVE-2026-109619
- cisa.gov/known-exploited-vulnerabilities-catalog
- packages.ubuntu.com/jammy/php8.1-fpm
- packages.ubuntu.com/jammy/php8.1-cli
- changelogs.ubuntu.com/changelogs/pool/main/p/php8.1/php8.1_8.1.2-1ubuntu2.28/changelog
- ubuntu.com/about/release-cycle
- packages.debian.org/bookworm/php
- packages.debian.org/trixie/php
- debian.org/releases
- php.net/manual/en/migration82.deprecated.php
- php.net/manual/en/migration84.deprecated.php
- manpages.debian.org/trixie/apt/apt.8.en.html
- cloud.alskyline.com/vps-saudi-arabia
Comments
0 total · 0 threads