Menu

Eleven PHP versions, two package shapes, one CentOS 7: shipping the PHP2Shell fix everywhere
📰

Eleven PHP versions, two package shapes, one CentOS 7: shipping the PHP2Shell fix everywhere

DEV Community: php·Danila Vershinin·3 days ago
#BTV3FO1p
#devto#dev#remi#version#base
Reading 0:00
15s threshold

The day after PHP2Shell (CVE-2026-109618 and CVE-2026-109619) went public, we shipped patched PHP 5.6, 7.0, 7.3 and 8.0 for CentOS 7. I wrote up how those first backports were ported and proven . This is the follow-up: getting from "the versions we had time for" to every PHP a CentOS 7 box can run, 5.6 through 8.4, in both of Remi's package shapes.

The real problem was the matrix, not the patch

Once the fix was ported to 5.6 and 7.0, the hard engineering was done. What was left was combinatorics:

11 PHP versions (5.6, 7.0 to 7.4, 8.0 to 8.4)

2 package shapes per version: Remi's base-name php-* (replaces system PHP, from remi-phpNN ) and the phpNN-php-* software collection (side by side, from remi-safe )

a different starting point per version: a frozen EL7 build, a maintained EL8+ source, or plain upstream

Doing that as 11 separate packaging repos meant 11 copies of the same build glue drifting apart.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.