Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255

I moved my project from desk to another.
When I run php artisan it does not work.

I tried to run composer update, but it returns the error

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255


Solution 1:

This is how I solved this after an upgrade from laravel version 6.x - 7.x:

In App\Exceptions\Handler changed

//Use Exception;
Use Throwable;

Then methods to accept instances of Throwable instead of Exceptions as follows:

//public function report(Exception$exception);
public function report(Throwable $exception);

//public function render($request, Exception $exception);
public function render($request, Throwable $exception);

In config\session.php:

//'secure' => env('SESSION_SECURE_COOKIE', false),
'secure' => env('SESSION_SECURE_COOKIE', null),

Then run composer update

Solution 2:

I solved the problem this way:

cd bootstrap/cache/
rm -rf *.php

The bootstrap directory contains the app.php file that initializes the structure. This directory also houses a cache directory that contains structure-generated files for performance optimization, such as files and route cache services. Laravel stores configuration files, provider, and cached services to optimize the fetching of this information. The problem with me was when the other developer ran the 'php artisan config: cache' command on your machine and since the cache folder contains files that can be deleted, I deleted them and solved the problem.

Solution 3:

If this happened after Laravel update from 6.x to 7.x, then this could be due to the update of Symfony. See the upgrade guide of this part: https://laravel.com/docs/7.x/upgrade#symfony-5-related-upgrades

Solution 4:

This happens because you have upgraded to Laravel 7.

To fix it, update app/Exceptions/Handler.php like so:

<?php

namespace App\Exceptions;

use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable; // <-- ADD THIS

class Handler extends ExceptionHandler
{
    public function report(Throwable $exception) // <-- USE Throwable HERE
    {
        parent::report($exception);
    }
    public function render($request, Throwable $exception) // AND HERE
    {
        return parent::render($request, $exception);
    }
}

This is documented in the official upgrade guide here:

https://laravel.com/docs/7.x/upgrade#symfony-5-related-upgrades

Solution 5:

I was upgrading my Laravel from 5.8 to 8.0 and I got this error.

So my fixes were

  1. As @nobuhiroharada mentioned that I had missed .env file in my project

  2. Second is that Laravel removed Exception and replaced it with Throwable. So we need to fix that in our app\Exceptions\Handler.php. One can refer Medium.com for the error fix.

  3. In the upgrade guide of Laravel 8.x you need to update the dependencies like this

  4. Next, in your composer.json file, remove classmap block from the autoload section and add the new namespaced class directory mappings:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    }
},
  1. Finally from bootstrap\cache delete the cache files and run composer update.

These 5 steps might help you remove the error you are facing in your Laravel Project.