PHP End of Life and Supported Versions
PHP branches move from active support to security-only fixes, then to end of life. This table shows where every branch stands today, so you can plan an upgrade before official support runs out.
2
Branches receiving bug and security fixes
2
Branches receiving security updates only
14
Branches with no official updates
Support schedule
PHP versions and security support dates
Each row is a PHP branch. Active support covers bugs and security fixes. Security support covers security issues only. End of life means the branch no longer receives official updates.
Swipe horizontally to see all columns.
| Branch | Released | Active support ends | Security support ends | Latest release | Status |
|---|---|---|---|---|---|
| 8.5 | Nov 20, 2025 | Dec 31, 2027 | Dec 31, 2029 | 8.5.12 | Active support |
| 8.4 | Nov 21, 2024 | Dec 31, 2026 | Dec 31, 2028 | 8.4.27 | Active support |
| 8.3 | Nov 23, 2023 | Dec 31, 2025 | Dec 31, 2027 | 8.3.36 | Security fixes only |
| 8.2 | Dec 8, 2022 | Dec 31, 2024 | Dec 31, 2026 | 8.2.35 | Security fixes only |
| 8.1 | Nov 25, 2021 | Nov 25, 2023 | Dec 31, 2025 | 8.1.34 | End of life |
| 8.0 | Nov 26, 2020 | Nov 26, 2022 | Nov 26, 2023 | 8.0.30 | End of life |
| 7.4 | Nov 28, 2019 | Nov 28, 2021 | Nov 28, 2022 | 7.4.33 | End of life |
| 7.3 | Dec 6, 2018 | Dec 6, 2020 | Dec 6, 2021 | 7.3.33 | End of life |
| 7.2 | Nov 30, 2017 | Nov 30, 2019 | Nov 30, 2020 | 7.2.34 | End of life |
| 7.1 | Dec 1, 2016 | Dec 1, 2018 | Dec 1, 2019 | 7.1.33 | End of life |
| 7.0 | Dec 3, 2015 | Jan 4, 2018 | Jan 10, 2019 | 7.0.33 | End of life |
| 5.6 | Aug 28, 2014 | Jan 19, 2017 | Dec 31, 2018 | 5.6.40 | End of life |
| 5.5 | Jun 20, 2013 | Jul 10, 2015 | Jul 21, 2016 | 5.5.38 | End of life |
| 5.4 | Mar 1, 2012 | Sep 14, 2014 | Sep 14, 2015 | 5.4.45 | End of life |
| 5.3 | Jun 30, 2009 | Jun 30, 2011 | Aug 14, 2014 | 5.3.29 | End of life |
| 5.2 | Nov 2, 2006 | Nov 2, 2008 | Jan 6, 2011 | 5.2.17 | End of life |
| 5.1 | Nov 24, 2005 | Aug 24, 2006 | Aug 24, 2006 | 5.1.6 | End of life |
| 5.0 | Jul 13, 2004 | Sep 5, 2005 | Sep 5, 2005 | 5.0.5 | End of life |
Reading the table
What the statuses mean
PHP support is split into two phases. The branch first receives bug fixes and security fixes, then only security fixes, and finally no official updates at all.
Active support
The branch receives bug fixes and security fixes. This is the safest place to run a production site.
Security fixes only
New features and non-security bugs are no longer fixed. Security issues are still patched until the end-of-life date.
End of life
The branch no longer receives official fixes. Hosts may drop support, and new vulnerabilities are unlikely to be patched.
Choosing a version
Which PHP version should you run?
For a new project, choose the newest branch that your host, framework, and plugins support. The newest branches are the ones marked Active support in the table above. Running the newest stable release is usually the best way to keep receiving security fixes for longer.
A branch marked Security fixes only is still supported, but it is no longer the best home for a new project. Plan an upgrade before its end-of-life date. A branch marked End of life should be upgraded as soon as possible, especially on a public site.
Do not choose an old branch just because it still works. Test the application on a staging copy, check plugin and theme compatibility, and move to a supported release before the security window closes.
Quick guidance
- New projects: pick the newest Active support branch your dependencies allow.
- Existing sites: install the latest patch in your branch, then plan the next major upgrade.
- Security-only branches: upgrade before the end-of-life date, not after it.
- End-of-life branches: treat the upgrade as urgent.
Free checker
Check a site's PHP version
Paste a public URL to see the PHP version it exposes, its branch status, and whether it is patched against PHP2Shell. The checker uses read-only requests and never scans the server.
Free · No sign-up · We never store the URLs you check
Upgrading
What to do if your PHP version is end of life
An end-of-life branch will not receive a fix for the next security issue. Treat the upgrade as a maintenance project, not a one-line change, and test it before touching production.
- 1
Back up and test on staging
Take a full backup and run the upgrade on a staging copy first. Check the application, plugins, themes, and any custom PHP code against the target branch.
- 2
Update PHP and dependencies
Move to the newest release in a supported branch, then update your CMS, plugins, themes, and Composer packages. Old extensions are the most common reason an upgrade fails.
- 3
Restart and verify the web SAPI
Restart PHP-FPM, Apache, and any containers, then verify PHP_VERSION through the web server. The CLI and the web server can be running different PHP builds.
- 4
Watch logs after the upgrade
Check the PHP error log and application logs for deprecation warnings or fatal errors. Fix them before removing the old version from the staging environment.
FAQ
PHP support questions
Short answers about PHP end-of-life dates, supported branches, and checking a live site.
Official references
- PHP lifecycle data (endoflife.date)
- Supported PHP versions (php.net)
- PHP release announcements (php.net)
- PHP2Shell advisory
Support dates are branch-level estimates and can change. Always confirm time-sensitive details on php.net.
Check another site
The checker is free and does not require an account.