Skip to content

Polr fails to render in php8 due to fatal error #639

@fleish

Description

@fleish

Expected Behavior

Polr code should render and pages should load

Current Behavior

Polr code fails due to PHP fatal error

Steps to Reproduce (for bugs)

  1. Upgrade from php7.4 (PHP Version 7.4.3-4ubuntu2.19) to php8.3 (PHP Version 8.3.2-1+ubuntu20.04.1+deb.sury.org+1)
  2. Attempt to load polr in web browser
  3. Observe php fatal error in logs and page does not render

From trying to load /:

Stack trace:
#0 /var/www/html/polr/vendor/illuminate/config/Repository.php(9): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#1 /var/www/html/polr/vendor/composer/ClassLoader.php(444): include('...')
#2 /var/www/html/polr/vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile()
#3 /var/www/html/polr/vendor/laravel/lumen-framework/src/Application.php(524): Composer\Autoload\ClassLoader->loadClass()
#4 /var/www/html/polr/vendor/illuminate/container/Container.php(738): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#5 /var/www/html/polr/vendor/illuminate/container/Container.php(631): Illu...; PHP message: PHP Fatal error:  During inheritance of ArrayAccess: Uncaught ErrorException: Return type of Illuminate\Http\Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/polr/vendor/illuminate/http/Request.php:850
Stack trace:
#0 /var/www/html/polr/vendor/illuminate/http/Request.php(14): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#1 /var/www/html/polr/vendor/composer/ClassLoader.php(444): include('...')
#2 /var/www/html/polr/vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile()
#3 /var/www/html/polr/vendor/laravel/lumen-framework/src/Application.php(712): Composer\Autoload\ClassLoader->loadClass()
#4 /var/www/html/polr/vendor/illuminate/container/Container.php(738): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#5 /var/www/html/polr/vendor/illu
2024/01/21 21:34:20 [error] 24186#24186: *20 FastCGI sent in stderr: "PHP message: PHP Fatal error:  During inheritance of ArrayAccess: Uncaught ErrorException: Return type of Illuminate\Config\Repository::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/polr/vendor/illuminate/config/Repository.php:118
Stack trace:
#0 /var/www/html/polr/vendor/illuminate/config/Repository.php(9): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#1 /var/www/html/polr/vendor/composer/ClassLoader.php(444): include('...')
#2 /var/www/html/polr/vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile()
#3 /var/www/html/polr/vendor/laravel/lumen-framework/src/Application.php(524): Composer\Autoload\ClassLoader->loadClass()
#4 /var/www/html/polr/vendor/illuminate/container/Container.php(738): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#5 /var/www/html/polr/vendor/illuminate/container/Container.php(631): Illu...; PHP message: PHP Fatal error:  During inheritance of ArrayAccess: Uncaught ErrorException: Return type of Illuminate\Http\Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/polr/vendor/illuminate/http/Request.php:850
Stack trace:
#0 /var/www/html/polr/vendor/illuminate/http/Request.php(14): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#1 /var/www/html/polr/vendor/composer/ClassLoader.php(444): include('...')
#2 /var/www/html/polr/vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile()
#3 /var/www/html/polr/vendor/laravel/lumen-framework/src/Application.php(712): Composer\Autoload\ClassLoader->loadClass()
#4 /var/www/html/polr/vendor/illuminate/container/Container.php(738): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#5 /var/www/html/polr/vendor/illu

From trying to load /login

2024/01/21 21:34:24 [error] 24186#24186: *20 FastCGI sent in stderr: "PHP message: PHP Fatal error:  During inheritance of ArrayAccess: Uncaught ErrorException: Return type of Illuminate\Config\Repository::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/polr/vendor/illuminate/config/Repository.php:118
Stack trace:
#0 /var/www/html/polr/vendor/illuminate/config/Repository.php(9): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#1 /var/www/html/polr/vendor/composer/ClassLoader.php(444): include('...')
#2 /var/www/html/polr/vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile()
#3 /var/www/html/polr/vendor/laravel/lumen-framework/src/Application.php(524): Composer\Autoload\ClassLoader->loadClass()
#4 /var/www/html/polr/vendor/illuminate/container/Container.php(738): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#5 /var/www/html/polr/vendor/illuminate/container/Container.php(631): Illu...; PHP message: PHP Fatal error:  During inheritance of ArrayAccess: Uncaught ErrorException: Return type of Illuminate\Http\Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/html/polr/vendor/illuminate/http/Request.php:850
Stack trace:
#0 /var/www/html/polr/vendor/illuminate/http/Request.php(14): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#1 /var/www/html/polr/vendor/composer/ClassLoader.php(444): include('...')
#2 /var/www/html/polr/vendor/composer/ClassLoader.php(322): Composer\Autoload\includeFile()
#3 /var/www/html/polr/vendor/laravel/lumen-framework/src/Application.php(712): Composer\Autoload\ClassLoader->loadClass()
#4 /var/www/html/polr/vendor/illuminate/container/Container.php(738): Laravel\Lumen\Application->Laravel\Lumen\{closure}()
#5 /var/www/html/polr/vendor/illu

Context

Trying to keep system code up to date

Your Environment

  • Version or latest commit hash (git rev-parse HEAD):
    2.3.0b downloaded from github releases page

  • Environment name and version (e.g. Chrome 39, PHP 7.0, etc):
    Ubuntu server running Focal 20.04LTS (same issue persists upon upgrade to Jammy 22.04LTS)
    NGINX (nginx version: nginx/1.18.0 (Ubuntu))
    PHP 8.3 (PHP Version 8.3.2-1+ubuntu20.04.1+deb.sury.org+1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions