PHP 8.2 end of life
Active support ended December 2024. Security fixes end December 2026. PHP 8.2 is the minimum for Symfony 7.4, which is why many upgrades land exactly here and then stop.
| PHP | Active support until | Security fixes until |
|---|---|---|
| 8.1 | 2023-11 | 2025-12 |
| 8.2 | 2024-12 | 2026-12 |
| 8.3 | 2025-12 | 2027-12 |
| 8.4 | 2026-12 | 2028-12 |
| 8.5 | 2027-12 | 2029-12 |
Plan the PHP bump with the framework upgrade
If you are upgrading to Symfony 7.4 in 2026, do not stop at PHP 8.2. Symfony 7.4 supports PHP 8.2 through 8.5, and the difference between landing on 8.2 and landing on 8.4 is a few Rector rules, mostly implicit nullable types. Landing on 8.2 means doing the exercise again within a year.
What changes after 8.2
- 8.3: typed class constants,
json_validate(), readonly improvements. Rarely breaks application code. - 8.4: implicit nullable parameter types deprecated, property hooks and asymmetric visibility available, new DOM API. The nullable deprecation is the one that touches most codebases and it is fully automatable.
- Extensions and images: the Docker base image, ext-* packages and the CI runner must move together. This is where the "runtime and tooling" add-on comes in if PDF generation or image processing depends on specific extension versions.
Dependencies decide the date
Your own code almost never blocks PHP 8.4. Old majors of libraries do, with constraints like php: ^8.0 <8.3. The scan lists every package whose installed release caps PHP or Symfony below the target, and whether a newer release lifts the cap.
Where does your application stand?
Upload your composer.lock and get your upgrade path, the packages that block it, and a readiness score in seconds. Free, no account, no source code.
Dates verified 2026-09-09 against the official release pages. Other deadlines: PHP 8.1 end of life · Symfony 7.4 LTS support dates · Symfony 6.4 end of life · all end-of-life dates. Also available in Deutsch Nederlands