ديبيان

شرح إصدارات PHP في Debian وUbuntu: أي إصدار يأتي مع أي توزيعة، ولماذا تبدو الأرقام قديمة

إصدار PHP الذي تأتي به كل نسخة من Debian وUbuntu، ولماذا يظهر الخادم المرقّع برقم يبدو قديمًا، وكيف تقرأ أرقام إصدارات الحزم وتقارنها.

تاريخ النشر
مدة القراءة
6 دقائق
الكاتب
SKYLINE Engineering

شغّل الأمر php -v على خادم Ubuntu 24.04 محدّث بالكامل وسترى PHP 8.3.6، مع أن مشروع PHP أصدر 8.3.36. كثيرًا ما تصنّف أدوات الفحص ذلك إصدارًا قديمًا ومصابًا، وفي الغالب ليس هذا ولا ذاك، فالتوزيعة نقلت الإصلاحات إلى حزمتها الخاصة. يعرض هذا المقال فرع PHP الذي يأتي مع كل إصدار مدعوم من Debian وUbuntu، ويشرح سبب شكل أرقام الإصدارات، ويبيّن كيف تتحقق من تثبيت إصلاح بعينه.

أي إصدار يأتي مع أي PHP

يأتي كل إصدار بفرع افتراضي واحد من PHP تحدده الحزمة الوصفية php، ويحتفظ به طوال عمره. أرقام الحزم أدناه هي الموجودة في قسم التحديثات الأمنية أو التحديثات بتاريخ 31 أكتوبر 2026.

الإصدارالفرع الافتراضي (الحزمة php)إصدار حزمة PHPدعم الإصدار
Debian 12 (bookworm)8.2 (2:8.2+93)php8.2 8.2.35-1~deb12u1دعم Debian الطويل حتى 30 يونيو 2028
Debian 13 (trixie)8.4 (2:8.4+96)php8.4 8.4.27-1~deb13u1حتى 9 أغسطس 2028، والدعم الطويل حتى 30 يونيو 2030
Ubuntu 22.04 LTS8.1 (2:8.1+92ubuntu1)php8.1 8.1.2-1ubuntu2.28الصيانة الأمنية القياسية حتى مايو 2027
Ubuntu 24.04 LTS8.3 (2:8.3+93ubuntu2)php8.3 8.3.6-0ubuntu0.24.04.13الصيانة الأمنية القياسية حتى مايو 2029
Ubuntu 26.04 LTS8.5 (2:8.5+99ubuntu1)php8.5 8.5.4-0ubuntu1.5الصيانة الأمنية القياسية حتى مايو 2031
Ubuntu 26.108.5php8.5 8.5.9-0ubuntu2.1حتى يوليو 2027

تلفت النظر هنا أمور: لم يشحن Debian قط PHP 8.3 في إصدار مستقر، ولا يأتي أي من إصدارات Ubuntu المدعومة حاليًا بالفرعين 8.2 أو 8.4. أما Debian 11 (bullseye) الذي كان يأتي مع PHP 7.4 فقد تجاوز نهاية فترة دعمه الطويل. وإن احتجت إلى فرع لا يشحنه إصدارك، فالخيار إما إصدار أحدث من التوزيعة أو مستودع خارجي.

لماذا تبدو الأرقام قديمة

تَعِد التوزيعات المستقرة بألا يغيّر التحديث سلوك النظام سوى إصلاح المشكلة. ويشرح دليل الأسئلة الأمنية في Debian القاعدة: أجرِ أقل قدر ممكن من التغييرات، لأن المستخدمين يعتمدون على السلوك الدقيق للإصدار، لذا تُنقل الإصلاحات المعنية إلى الإصدار القائم بدل الانتقال إلى إصدار أحدث من المشروع الأصلي. ويسمح الدليل باستثناءات عندما يتعذر النقل، بالتنسيق مع فريق الأمان.

وتطبّق التوزيعتان ذلك على PHP بطريقتين مختلفتين:

  • Ubuntu تحتفظ بإصدار المشروع الأصلي وتضيف الرقع؛ فقد بدأ Ubuntu 22.04 بـ PHP 8.1.2 وما زال عليه، والحزمة الآن بالمراجعة 1ubuntu2.28. وبحسب سجل التغييرات، أصلح تحديث أكتوبر 2026 في هذه المراجعة الثغرتين الحرجتين CVE-2026-109618 وCVE-2026-109619، مع أن المشروع الأصلي لم يُصدر إصلاحاتهما إلا للفرع 8.2 وما بعده.
  • Debian اعتاد عمليًا إدخال الإصدارات التصحيحية الجديدة من الفرع نفسه ضمن تحديثات الإصدار المستقر؛ فـ PHP في bookworm على الإصدار 8.2.35 مطابقًا للمشروع الأصلي. الفرع لا يتغير أبدًا، بل رقم الإصدار التصحيحي فقط.

كلتا الطريقتين مشروعة لإيصال إصلاحات الأمان، والنتيجة واحدة: رقم المشروع الأصلي وحده لا يخبرك إن كان النظام مرقّعًا.

كيف تقرأ رقم إصدار الحزمة

يتكون رقم الإصدار في Debian وUbuntu من ثلاثة أجزاء كحد أقصى: [epoch:]upstream-version[-revision].

  • 2:8.2+93 هو رقم الحزمة الوصفية php: الحقبة (epoch) 2، والفرع الافتراضي 8.2، والمراجعة 93 من الحزمة المصدرية php-defaults.
  • 8.2.35-1~deb12u1: إصدار المشروع الأصلي 8.2.35، ومراجعة Debian رقم 1، واللاحقة ~deb12u1 تعني أول تحديث مبني لـ Debian 12. وعلامة التلدة (~) تأتي في الترتيب قبل أي شيء آخر، لذا يُعد هذا الإصدار أقدم قليلًا من 8.2.35-1 المجرد.
  • 8.1.2-1ubuntu2.28: إصدار المشروع الأصلي 8.1.2، ومراجعة Debian رقم 1، وتعديل Ubuntu رقم 2، وتحديثه الثامن والعشرون.
  • 8.3.6-0ubuntu0.24.04.13: حزّمت Ubuntu الإصدار 8.3.6 بنفسها (العلامة -0ubuntu)، و0.24.04.13 هو التحديث الثالث عشر بلاحقة الإصدار 24.04.

لمقارنة إصدارين بالطريقة نفسها التي يستخدمها مدير الحزم:

dpkg --compare-versions 8.2.35-1~deb12u1 lt 8.2.35-1 && echo older

وتفسّر القواعد نفسها مفاجأة شائعة مع المستودعات الخارجية: فإصدار مثل 8.2.35-1+0~20261021.94+debian12~1 يُرتَّب أعلى من 8.2.35-1~deb12u1 الخاص بـ Debian، لذا فإضافة مستودع كهذا تستبدل حزم التوزيعة في الترقية التالية ما لم تضبط أولويته.

كيف تتحقق من تثبيت إصلاح معيّن

# installed version and where it comes from
apt policy php8.3-cli php8.3-fpm
# full package version of every PHP package
dpkg -l 'php*' | grep '^ii'
# which CVEs the installed package's updates fixed
apt changelog php8.3-cli | grep -m 20 CVE-

ثم قارن ببيانات التوزيعة نفسها: متتبع الأمان في Debian (لكل حزمة مصدرية مثل php8.2) يذكر الإصدار المصلَّح لكل ثغرة ولكل إصدار، وتنشر Ubuntu صفحات حالة الثغرات وإشعاراتها الأمنية في ubuntu.com/security. إن كان إصدارك المثبت مساويًا للإصدار المصلَّح المذكور هناك أو أعلى منه فالإصلاح موجود لديك، أيًّا كان ما يعرضه php -v.

أدوات الفحص ولافتات الإصدار

كثير من أدوات الفحص الخارجية تقرأ الإصدار من الترويسة X-Powered-By وتقارنه بإصدارات المشروع الأصلي، وهذا يولّد إنذارات كاذبة مع حزم التوزيعات. خطوتان عمليتان:

  • اضبط expose_php = Off في إعدادات PHP الخاصة بالويب كي لا تعلن الترويسة عن الإصدار أصلًا. هذا ليس إصلاحًا أمنيًا، بل ضجيج أقل ومعلومات أقل للمهاجمين.
  • عندما يشير تقرير إلى أن "PHP 8.x.y مصاب"، فأجب عنه برقم الحزمة وبيانات الإصدار المصلَّح من التوزيعة، لا بإعادة تثبيت PHP من مصدر آخر.

وإن كنت تستخدم خادمًا افتراضيًا من سكاي لاين كلاود، فالصور المتاحة هي Ubuntu 24.04 LTS وUbuntu 22.04 LTS وDebian 12، أي أن PHP الذي تثبته من التوزيعة هناك هو 8.3 أو 8.1 أو 8.2 على الترتيب، ويُصان عبر تحديثات الأمان الخاصة بالتوزيعة التي تطبقها أنت داخل خادمك.

ما الذي ينبغي فعله

  • اعرف فرع PHP الذي يأتي مع إصدارك، والمدة التي يُدعم فيها الإصدار نفسه.
  • احكم على حالة الترقيع برقم الحزمة الكامل وبإشعارات التوزيعة، لا برقم المشروع الأصلي.
  • استخدم apt changelog ومتتبعات الأمان في Debian وUbuntu للتأكد من إصلاح ثغرات بعينها.
  • عطّل expose_php على خوادم الويب الإنتاجية.
  • إن أضفت مستودع PHP خارجيًا فتذكّر أن إصداراته تُرتَّب أعلى وستستبدل حزم التوزيعة ما لم تضبط أولويته.

المصادر

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

صفحة الكاتب
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Debian for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.