Skip to content

Laravel 13.3+ requires PHP 8.4 due to Symfony 8 transitive dependency #59564

@laratables

Description

@laratables

Laravel Version

13

PHP Version

8.3

Database Driver & Version

No response

Description

Issue

Laravel 13.3.0+ pulls in symfony/error-handler ^8.0 and
symfony/console ^8.0 which require PHP 8.4, despite Laravel 13
officially advertising PHP 8.3 as the minimum requirement.

Impact

Users running PHP 8.3 with Laravel 13.3+ will encounter the following
error when installing this package:

Workaround

Either:

  • Upgrade to PHP 8.4
  • Pin Symfony to 7.4 in your project's composer.json:
    composer require symfony/console:"^7.4" symfony/error-handler:"^7.4"
  • Stay on Laravel 12 which fully supports PHP 8.3 until August 2026

Notes

This is a Laravel/Symfony issue

Steps To Reproduce

Steps To Reproduce

  1. Install PHP 8.3.x on your local machine
  2. Create a fresh Laravel 13 project:
    composer create-project laravel/laravel my-app
  3. Check the installed Laravel version:
    php artisan --version
    (confirms Laravel 13.3.0 or higher)
  4. Attempt to install any additional package:
    composer require laratables/laravel-shipping
  5. Observe the following error:

Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/framework is locked to version v13.3.0 and an update
of this package was not requested.
- laravel/framework v13.3.0 requires symfony/error-handler
^7.4.0 || ^8.0.0 -> satisfiable by symfony/error-handler[v8.0.8].
- symfony/error-handler v8.0.8 requires php >=8.4 -> your php
version (8.3.30) does not satisfy that requirement.

Environment

  • PHP: 8.3.30
  • Laravel: 13.3.0
  • OS: macOS
  • Composer: 2.x

Expected Behaviour

Laravel 13 officially states PHP 8.3 as the minimum requirement.
Installing packages on PHP 8.3 with Laravel 13 should work without
dependency conflicts.

Actual Behaviour

Composer resolves symfony/error-handler to v8.0.8 which requires
PHP 8.4, making it impossible to install additional packages on
PHP 8.3 despite Laravel 13's advertised compatibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions