thesimons's avatar

If you plan to update to PHP 8.5 your Laravel projects, don't do that (yet)

Hello,

Yesterday - while deploying a new server - I have the funny idea to install PHP8.5 just released.

As result for that I got a list of errors. I think it'd be better to give it few weeks before thinking about deploying in production.

Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - brianium/paratest[v7.8.3, ..., v7.8.4] require php ~8.2.0 || ~8.3.0 || ~8.4.0 -> your php version (8.5.0) does not satisfy that requirement.
    - brianium/paratest[v7.9.0, ..., v7.11.2] require php ~8.3.0 || ~8.4.0 -> your php version (8.5.0) does not satisfy that requirement.
    - pestphp/pest v3.8.2 requires brianium/paratest ^7.8.3 -> satisfiable by brianium/paratest[v7.8.3, ..., v7.14.2].
    - brianium/paratest v7.14.2 requires phpunit/phpunit ^12.4.1 -> satisfiable by phpunit/phpunit[12.4.1, 12.4.2, 12.4.3, 12.4.4].
    - brianium/paratest v7.14.1 requires phpunit/phpunit ^12.4.0 -> satisfiable by phpunit/phpunit[12.4.0, ..., 12.4.4].
    - brianium/paratest v7.14.0 requires phpunit/phpunit ^12.3.15 -> satisfiable by phpunit/phpunit[12.3.15, ..., 12.4.4].
    - brianium/paratest v7.13.0 requires phpunit/phpunit ^12.3.9 -> satisfiable by phpunit/phpunit[12.3.9, ..., 12.4.4].
    - brianium/paratest v7.12.0 requires phpunit/phpunit ^12.3.6 -> satisfiable by phpunit/phpunit[12.3.6, ..., 12.4.4].
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.4.4.
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.3.14.
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.3.13.
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.3.12.
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.3.11.
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.3.10.
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.3.8.
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.3.7.
    - pestphp/pest v3.8.2 conflicts with phpunit/phpunit 12.3.6.
    - pestphp/pest-plugin-laravel v3.2.0 requires pestphp/pest ^3.8.2 -> satisfiable by pestphp/pest[v3.8.2, v3.8.3, v3.8.4].
    - Conclusion: don't install pestphp/pest v3.8.3 (conflict analysis result)
    - Conclusion: don't install pestphp/pest v3.8.4 (conflict analysis result)
    - Root composer.json requires pestphp/pest-plugin-laravel ^3.2 -> satisfiable by pestphp/pest-plugin-laravel[v3.2.0].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Thanks, Simon

0 likes
7 replies
martinbean's avatar

@thesimons This has nothing to do with anything being wrong with PHP 8.5. You just have versions of packages declared in your application that aren’t compatible with PHP 8.5 (mainly Pest 3). Pest is then trying to install an older version of brianium/paratest (https://packagist.org/packages/brianium/paratest#v7.8.3) which only supports PHP 8.2–8.4, hence your error.

1 like
thesimons's avatar

I have never said that 8.5 has something wrong.

martinbean's avatar

Your post is telling people not to use PHP 8.5 for Laravel, when the error you’ve shown is nothing to do with PHP 8.5, but rather you having old, incompatible packages in your application.

2 likes
MrMoto9000's avatar

That Pest dependency is controlled by Laravel, so the OP is right

Please or to participate in this conversation.