Laravel and PHP upgrades: which version moves first?
Check supported PHP ranges, package blockers and an upgrade sequence before agreeing to a Laravel release date.
Faith Forge Labs · Reviewed October 16, 2026
An upgrade has two separate questions: can these versions run together, and will this application still behave correctly? A framework version table answers the first. Your packages, extensions, database and tests decide the second.
Which PHP versions does Laravel support?
Documentation checked October 16, 2026. These are Laravel's documented supported PHP ranges, not a complete dependency check.
| Laravel | Supported PHP | Security fixes end |
|---|---|---|
| 10 | 8.1–8.3 | February 4, 2025 — ended |
| 11 | 8.2–8.4 | March 12, 2026 — ended |
| 12 | 8.2–8.5 | February 24, 2027 |
| 13 | 8.3–8.5 | March 17, 2028 |
PHP has its own support dates. PHP 8.2 receives security fixes through December 31, 2026; a Laravel version accepting it does not extend that date. Check both calendars before selecting the destination.
Can we upgrade PHP first?
Sometimes. PHP 8.3 sits inside the documented ranges for Laravel 10 through 13. That makes it a possible bridge for a staged upgrade. It does not prove that an old package, extension or application feature works on PHP 8.3.
Fictional planning example: an invented Laravel 10 application runs on PHP 8.1 and needs Laravel 13. First test PHP 8.3 with its existing dependencies in an isolated environment. Then work through the 10→11, 11→12 and 12→13 upgrade guides, testing each step. Laravel 11 is an intermediate development step here; its security support has ended. Do not deploy that intermediate build as a new long-term production target.
Why can Composer block a version that the table allows?
The lockfile records the packages actually installed. A package may restrict PHP or depend on an older Laravel component. Ask the developer to identify which package prevents the target version, whether a maintained replacement exists, and what behaviour needs testing if it changes. Check Composer's platform setting too: a simulated PHP version can hide a mismatch with the web process or queue worker.
Keep the installed framework and PHP versions, package constraints, required extensions and database version in the upgrade brief. Check web requests, command-line jobs and workers separately; they can use different PHP binaries.
What should we ask for before agreeing to an upgrade date?
Ask for the blocked dependencies, the proposed version sequence, the journeys that will be tested, and the recovery plan if a database change cannot be reversed. Use the browser-local upgrade planner to sketch the version sequence, then compare the release acceptance checklist. A date is easier to assess once those unknowns have names.
For help reviewing the sequence, see Laravel support services or describe the upgrade you are considering. Share versions and the affected workflow, without credentials or production records.