FrameworkBenchmarks icon indicating copy to clipboard operation
FrameworkBenchmarks copied to clipboard

PHP 8.1 update [info]

Open joanhey opened this issue 4 years ago • 2 comments

PHP 8.1

As the ppa:ondrej/php include now php8.1-rc5, I'm starting to test the frameworks for the benchmark. PHP 8.1 final will be released 25th of this month.

If you want to view the php8.0 update info, check #6184, that is closed now.

This list will be updated as we found problems or solutions.

Need to fix

  • [x] php-ngx ~don't compile https://github.com/rryqszq4/ngx_php7/issues/133~

  • [x] webman ~https://github.com/walkor/webman/issues/249 exit with status 139~

  • [x] comet ~https://github.com/gotzmann/comet/issues/26 Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /comet/vendor/workerman/workerman/Protocols/Http/Request.php on line 166 And various exit with status 139~

  • [x] fat-free ~https://github.com/bcosca/fatfree/issues/1241 PHP Fatal error: $GLOBALS can only be modified using the $GLOBALS[$name] = $value syntax in /fat-free/vendor/bcosca/fatfree-core/base.php on line 2533~

  • [x] ~nginx-unit we will update with php 8.0, when ready to php 8.1 final we will do the same~

  • [ ] fuel Fail without any error

  • [ ] slim PHP Fatal error: Uncaught TypeError: Slim\App::__construct(): Argument #1 ($responseFactory) must be of type Psr\Http\Message\ResponseFactoryInterface, array given, called in /slim/index.php on line 7 and defined in /slim/vendor/slim/slim/Slim/App.php:61

  • [ ] phpixie PHP Fatal error: During inheritance of Iterator: Uncaught ErrorException: Return type of PHPixie\DB\Result::current() should either be compatible with Iterator::current(): mixed, or ...

  • [ ] amp OK but with errors in fortunes cluster-9.ERROR: STDERR from PID 17: PHP Warning: Uninitialized string offset 71 in /amp/vendor/amphp/mysql/src/Internal/Processor.php on line 1126 amp: PHP Warning: Undefined array key 2 in /amp/vendor/amphp/mysql/src/Internal/Processor.php on line 1130 https://github.com/TechEmpower/FrameworkBenchmarks/runs/4165554696?check_suite_focus=true#step:9:525

  • [ ] swoole and now use JIT, OK with mysql but with deprecated errors https://github.com/TechEmpower/FrameworkBenchmarks/runs/4172706407?check_suite_focus=true#step:9:729 https://github.com/TechEmpower/FrameworkBenchmarks/runs/4172706407?check_suite_focus=true#step:9:804 Fail to compile with pgsql (updated to v4.8.0) I will wait a little more to update the frameworks using swoole.

Bugs

  • ~preg_match() and preg_match_all() fail with: Compilation failed: unrecognised compile-time option bit(s) at offset 0. Possibly by did't update PCRE lib.~ Fixed using apt upgrade or include php8.1-dev.

Need to update

  • Phalcon still not work with php 8.0
  • Codeigniter to v4 (but v3 work with php 8.1)
  • Zend to Laminas

joanhey avatar Nov 10 '21 11:11 joanhey

Synfony fail in the last runs, with dependencies problem. https://tfb-status.techempower.com/unzip/results.2021-12-14-11-27-15-274.zip/results/20211209201759/symfony/build/symfony.log

@jderusse @kaznovac @raziel057 ...

Could anyone fix it ? And perhaps update to php 8.1 too. Thanks

joanhey avatar Dec 17 '21 16:12 joanhey

@joanhey for the symfony tests the log suggests that there is a problem with dependencies. offending deps are introduced in the https://github.com/TechEmpower/FrameworkBenchmarks/commit/e6b61ea2a18569026e1d340e5d1d5faf31b20499 maybe @jcheron can provide more insight (or just drop those two lines from the dockerfile and retest, the referred bug https://github.com/doctrine/dbal/issues/4603 is closed now)

also symofny should be updated to 5.4 lts (or maybe 6.0 - or even better test both lts and latest release), and entities should be refactored to reflect 'real-world' practices (use getters/setters)

sorry I don't have a free slot to address this in the next month or so...

kaznovac avatar Dec 20 '21 10:12 kaznovac

@kaznovac Check Symfony 700% faster using Workerman.

https://github.com/joanhey/AdapterMan

joanhey avatar Nov 11 '22 13:11 joanhey

Amazing work @joanhey! Love the simplicity of the AdapterMan :)

Took a glance at your recipes - Symfony is moving towards https://github.com/symfony/runtime to 'abstract the php runtime' (on quite kludgy and hacky way... but in their defense they acknowledge this in https://github.com/php-runtime/runtime) away from the explicit application bootstrapping and Request handling.

I, personally, find symfony/runtime too messy to be worth debugging in the runtime (no pun intended), but I'd still suggest you to by providing the AdapterMan as implementation for the symfony/runtime you could get the better visibility for your project and yourself.

Best, k

kaznovac avatar Nov 18 '22 11:11 kaznovac

Check #8579

joanhey avatar Nov 29 '23 20:11 joanhey