Skip to content

Commit

Permalink
Try to fix laravel PHP 8 incompatibility
Browse files Browse the repository at this point in the history
[ci skip]
  • Loading branch information
nikic committed Jul 29, 2020
1 parent 709925a commit 9eb7990
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions azure/community_job.yml
Expand Up @@ -69,6 +69,7 @@ jobs:
php7.3 ./phpunit install
# Work around PHP 8 incompatibility in Doctrine
sed -i 's/function query()/function query(...$args)/' vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
sed -i 's/function setFetchMode($fetchMode, $arg2 = null, $arg3 = null)/setFetchMode($fetchMode, $arg2 = null, $arg3 = null, ...$args)/' vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php

This comment has been minimized.

Copy link
@GrahamCampbell

GrahamCampbell Jul 29, 2020

Contributor

Laravel needs doctrine DBAL 3 to work on PHP 8. See laravel/framework#33388.

This comment has been minimized.

Copy link
@nikic

nikic Jul 29, 2020

Author Member

I'm aware. We will use that as soon as you update your master branch.

This comment has been minimized.

Copy link
@GrahamCampbell

GrahamCampbell Jul 29, 2020

Contributor

That'll probably be late August I think. I think the thing that's going to block us for the longest is Guzzle not being updated for the curl changes in PHP 8. There are other PRs in Guzzle that need to be processed first, before anyone can work on the curl changes.

This comment has been minimized.

Copy link
@nikic

nikic Jul 29, 2020

Author Member

I am not familiar with the Guzzle situation. What's the holdup there? The actual code changes needed for PHP 8 compatibility were trivial when I tested it.

This comment has been minimized.

Copy link
@GrahamCampbell

GrahamCampbell Jul 29, 2020

Contributor

We have to first test PHP 8 on the dependencies of Guzzle. Even if there are no code changes required, we have to check them, and there's some other stuff that needs reviewing on those repos first, before PHP 8 stuff can be considered. The hold up is just developer allocation. :)

This comment has been minimized.

Copy link
@GrahamCampbell

GrahamCampbell Jul 29, 2020

Contributor

Running the tests on PHP 8 might also prove to be a pain after that "match" RFC was implemented. Some of Guzzle's dependencies use quite old versions of PHPUnit (and support quite old versions of PHP). So things might not be so straightforward as "just enable PHP 8 on the CI". ;)

This comment has been minimized.

Copy link
@GrahamCampbell

GrahamCampbell Jul 29, 2020

Contributor

Do you know when the resource -> object changes will stop? Will that be stopped at the feature freeze in August, or are those kind of changes excluded from that?

This comment has been minimized.

Copy link
@nikic

nikic Jul 29, 2020

Author Member

Not sure on that count, I will have to check with release managers.

This comment has been minimized.

Copy link
@kocsismate

kocsismate Jul 29, 2020

Member

For my part, I think I've already finished those migrations that I was interested in for 8. :) I can do a few later (e.g. LDAP, FTP maybe, depending on how much effort is to set them up locally) for PHP 8.1 though.

export USE_ZEND_ALLOC=0
export USE_TRACKED_ALLOC=1
export ASAN_OPTIONS=exitcode=139
Expand Down

0 comments on commit 9eb7990

Please sign in to comment.