Open jamesisaac opened 3 weeks ago
Ah I see someone opened an issue in php-src: https://github.com/php/php-src/issues/14480
So apparently the PHP fix won't appear until the following release, v8.3.9. Which means on an environment that auto-applies patch versions of PHP, there would be a period of APIP projects running into errors until PHP 8.3.9/8.2.21 are released. So it may still be worth working around the PHP bug from the APIP side?
So apparently the PHP fix won't appear until the following release, v8.3.9. Which means on an environment that auto-applies patch versions of PHP, there would be a period of APIP projects running into errors until PHP 8.3.9/8.2.21 are released. So it may still be worth working around the PHP bug from the APIP side?
Just lost an afternoon to debugging this (admittedly should have viewed the project issues page earlier) but agree with above, if there is anything we can do in the core code to mitigate this issue and make visibility paths a bit clearer (navigating all those traits isn't the easiest) and bulletproof then in my view we absolutely should.
Hi,
we had the same Problem last week and today it is solved. Its like magic :)
If you are using PHP from ondrej sury, you might be lucky: https://github.com/php/php-src/issues/14480#issuecomment-2156115468
Same here - php 8.2.20
same here - php 8.8.20 / api platform 3.3.5
Same here: PHP 8.2.20 - Api Platform 3.2.23. Reverting on PHP 8.2.19 and 8.3.7 fixed the issue.
Same here: PHP 8.2.20
Same here: after downgrading PHP to 8.2.19 everything worked.
As @macghriogair said, upgrading to the new 8.2.20-2
version from the ondrej ppa seemed to fix the issue.
Same here: After upgrading from PHP 8.2.19 to 8.2.20, the error occured. The error seems to be due to importing multiple traits defining the same method:
The class ApiPlatform\Doctrine\Orm\Filter\AbstractFilter
uses the two traits:
The method splitPropertyParts
is defined abstract in the first, but has a concrete implementation in the second class. Since 8.2.20 also the abstract method gets called from the class ApiPlatform\Doctrine\Orm\Filter\SearchFilter
resulting in the above error.
However, when changing the use-order in the AbstractFilter class from this original version
use OrmPropertyHelperTrait;
use PropertyHelperTrait;
to this:
use PropertyHelperTrait;
use OrmPropertyHelperTrait;
This specific error does not occur, but then another issue with the same cause follows. There might be a general solution needed for this.
Not sure if this is related, but since PHP 8.2.20, calling any endpoint of my API with a nested parameter (field.prop=
, order[field.prop]=
) lead a SIGSEGV from PHP and a 502 error.
Everything works fine after downgrading to 8.2.19.
I don't see an easy way to fix this on our side. While waiting for the next patch PHP release, the workaround is to downgrade or recompile PHP with the fix.
On Symfony Docker I try to swicth version from dunglas/frankenphp:1-php8.3 to dunglas/frankenphp:1-php8.3.4-alpine. It's working
is there a solution without downgrading php
It is still unclear to me, if this a PHP or a API-Platform issue? Can someone from the core team pl. provide some comment here?
Will this be fixed in the next PHP-releases?
It is still unclear to me, if this a PHP or a API-Platform issue? Can someone from the core team pl. provide some comment here?
Will this be fixed in the next PHP-releases?
This is definitely a PHP issue: https://github.com/php/php-src/issues/14480 This will be fixed in PHP v8.3.9 and v8.2.21.
These versions are not released yet, but there are RC ongoing: https://hub.docker.com/_/php/tags?page=&page_size=&ordering=&name=8.3
For the moment, the easier fix is to downgrade to 8.3.7 and 8.2.19. If you are using docker base images, it's the easiest way.
API Platform version(s) affected: 3.1, 3.2, 3.3
Description
After CircleCI has released images for PHP patch versions 8.3.8 and 8.2.20 (today), we are seeing new errors on our test suite related to operations with filters.
Stack traces from APIP 3.3.5
The errors disappear if we lock the PHP version down to 8.3.7 or 8.2.19.
Seems to affect the latest versions on all minor versions of APIP (3.3.5 etc).
How to reproduce
Let me know if a reproduction is needed.
Possible Solution
Additional Context