ahoi's avatar
Level 5

Laravel7-Upgrade fails: PHP Fatal error: Declaration of App\Exceptions\Handler::report(Exception $exception) must be compatible wizh [...]

Hello everybody,

I tried to upgrade to Laravel 7 - but unfortunately I am getting this error after composer install:

 C:\Users\user\laravel\my-project> composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 1 update, 1 removal
  - Removing spatie/laravel-responsecache (6.6.0)
  - Updating laravel/tinker (v2.0.0 => v2.2.0): Downloading (100%)
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
PHP Fatal error:  Declaration of App\Exceptions\Handler::report(Exception $exception) must be compatible with Illuminate\Foundation\Exceptions\Handler::report(Throwable $e) in C:\Users\user\laravel\my-project\app\Exceptions\Handler.php on line 35
PHP Fatal error:  Uncaught ReflectionException: Class App\Exceptions\Handler does not exist in C:\Users\user\laravel\my-project\vendor\laravel\framework\src\Illuminate\Container\Container.php:803
Stack trace:
#0 C:\Users\user\laravel\my-project\vendor\laravel\framework\src\Illuminate\Container\Container.php(803): ReflectionClass->__construct()
#1 C:\Users\user\laravel\my-project\vendor\laravel\framework\src\Illuminate\Container\Container.php(681): Illuminate\Container\Container->build()
#2 C:\Users\user\laravel\my-project\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(787): Illuminate\Container\Container->resolve()
#3 C:\Users\user\laravel\my-project\vendor\laravel\framework\src\Illuminate\Container\Container.php(265): Illuminate\Foundation\Application->resolve()
#4 C:\Users\user\laravel\my-project\vendor\laravel\framework\src\Illuminate\Container\Container.php(799): Illuminate\Conta in C:\Users\user\laravel\my-project\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 805

This is my composer.json

{
    "name": "laravel/laravel",
    "type": "project",
    "description": "The Laravel Framework.",
    "keywords": [
        "framework",
        "laravel"
    ],
    "license": "MIT",
    "require": {
        "php": "^7.2.5",
        "ext-json": "*",
        "fideloper/proxy": "^4.2",
        "fruitcake/laravel-cors": "^1.0",
        "guzzlehttp/guzzle": "^6.3",
        "laravel/framework": "^7.0",
        "laravel/tinker": "^2.0",
        "calebporzio/sushi": "^1.1"
    },
    "require-dev": {
        "laravel/homestead": "^10.3",
        "facade/ignition": "^2.0",
        "fzaninotto/faker": "^1.9.1",
        "mockery/mockery": "^1.3.1",
        "nunomaduro/collision": "^4.1",
        "phpunit/phpunit": "^8.5"
    },
    "config": {
      "optimize-autoloader": true,
      "preferred-install": "dist",
      "sort-packages": true
    },
    "extra": {
        "laravel": {
            "dont-discover": []
        }
    },
    "autoload": {
        "files": [
            "app/Helpers/helpers.php"
        ],
        "psr-4": {
            "App\": "app/"
        },
        "classmap": [
            "database/seeds",
            "database/factories"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\": "tests/"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-autoload-dump": [
            "Illuminate\Foundation\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover --ansi"
        ],
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate --ansi"
        ]
    }
}
0 likes
2 replies
ahoi's avatar
Level 5

Sorry, missed the part in the docs:

use Throwable;

public function report(Throwable $exception);
public function render($request, Throwable $exception);

I just did not apply changes on app/Exceptions/Handler.php

3 likes

Please or to participate in this conversation.