-
Notifications
You must be signed in to change notification settings - Fork 11.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[8.x] Adds a few PHP 8.1 related changes #38404
Conversation
38201f0
to
d468304
Compare
1269ec9
to
67928ec
Compare
@kylekatarnls why have you approved a PR in a broken state? |
I would like to see |
It’s not ready yet. It’ll probably be another few weeks, at the earliest. Even if the framework code is ready, it’s dependencies are not all ready, which means it still won’t work in practice. |
I know, I just released a new fix today for Carbon compatibility with PHP 8.1 interfaces that added new return types. |
I can install Laravel v9 just fine right now. Is there anything custom you're doing maybe that's preventing you to do that? |
6307d34
to
1c0aa6e
Compare
I think this is covered now. :) |
8f4dce1
to
0802298
Compare
0802298
to
133f434
Compare
This reverts commit d5b01d2.
* Makes serializable closures work with PHP 8.1 * Apply fixes from StyleCI * Fixes PHP 7.3 tests * Refactors * Updates deprecated warning Co-authored-by: Dries Vints <[email protected]> * Fixes restoring properties * Update QueueServiceProvider.php Co-authored-by: Taylor Otwell <[email protected]> Co-authored-by: Dries Vints <[email protected]> Co-authored-by: Taylor Otwell <[email protected]>
…ors and add some missing `#[\ReturnTypeWillChange]` (#38819) * Add explicit `@return` to `{@inheritdoc}` PHPDoc * Use `return null;` when the return type is `null`
@taylorotwell I've skipped the tests that are currently failing in PHP 8.1, so we can make this pull request in a mergeble state. |
* Add ReturnTypeWillChange to SessionHandlerInterface usages * Bump commonmark * Fix getIterator * Use Symfony 5.4 components * Dev mockery * Mimic PHP 8.0 * Try removing symfony components * Mockery * Fix type errors in db tests (laravel#38696) * Fix type errors in db tests * Apply fixes from StyleCI Co-authored-by: Taylor Otwell <[email protected]> * Additional DB test fixes (laravel#38699) * More DB fixes (laravel#38700) * PHP 8.1 prefer-lowest builds * Remove skipping PHP 8.1 builds * Bump PHPUnit * Revert "PHP 8.1 prefer-lowest builds" This reverts commit d5b01d2. * [8.x] Adds PHP 8.1 support to serializable closures (laravel#38801) * Makes serializable closures work with PHP 8.1 * Apply fixes from StyleCI * Fixes PHP 7.3 tests * Refactors * Updates deprecated warning Co-authored-by: Dries Vints <[email protected]> * Fixes restoring properties * Update QueueServiceProvider.php Co-authored-by: Taylor Otwell <[email protected]> Co-authored-by: Dries Vints <[email protected]> Co-authored-by: Taylor Otwell <[email protected]> * Fix default value * Fix mb_strlen value * Adds `continue-on-error` for PHP 8.1 * [8.x] Add explicit `@return` annotations in `{@inheritdoc}` from vendors and add some missing `#[\ReturnTypeWillChange]` (laravel#38819) * Add explicit `@return` to `{@inheritdoc}` PHPDoc * Use `return null;` when the return type is `null` * Skips PHP 8.1 failing tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Skips some more PHP 8.1 related tests * Update SerializableClosure.php Co-authored-by: Graham Campbell <[email protected]> Co-authored-by: Taylor Otwell <[email protected]> Co-authored-by: Nuno Maduro <[email protected]> Co-authored-by: Taylor Otwell <[email protected]> Co-authored-by: Wouter J <[email protected]>
This PR adds some additional fixes for PHP 8.1 support. Thanks to @GrahamCampbell for his help with this and third party library support.
Todo
PDO::ATTR_STRINGIFY_FETCHES
behavior: Fix PHP 8.1 build failures #36813 (comment)predis/predis
PHP 8.1 compatibilityramsey/uuid
: Add support for PHP 8.1 ramsey/uuid#388aws/aws-php-sdk
serializable methods: Implements__serialize()
and__unserialize()
PHP 8.1 magic methods onAws\Credentials\Credentials
class aws/aws-sdk-php#2316aws/aws-php-sdk
DateTimeResult::fromTimestamp
issue: https://github.com/laravel/framework/runs/3599702797#step:8:166