Сценарий @php artisan package: обнаружение обработки события post-autoload-dump, возвращаемого с кодом ошибки 255

Я перенес свой проект с рабочего стола на другой. Когда я запускаю php artisan, он не работает.

Я попытался запустить composer update, но он возвращает ошибку

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

Для меня это было вызвано разрешениями на папку. chown -R u: g и chmod -R 755 сделали всю работу за меня.

Barry 04.06.2019 19:32

это была проблема в трейте, но я не мог найти, несмотря ни на что, используя что-то вроде packagist.org/packages/nunomaduro/larastan, можно поймать это

ctf0 04.02.2021 17:18
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
32
2
70 119
16

Ответы 16

У вас есть файл .env в вашем новом проекте?

У меня было такое же сообщение об ошибке. Когда я добавляю файл .env, ошибка исчезает.

сообщение об успехе, подобное этому.

Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: fideloper/proxy
Discovered Package: ixudra/curl
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: socialiteproviders/manager
Package manifest generated successfully.

Я надеюсь, что это поможет вам.

Я решил проблему так:

cd bootstrap/cache/
rm -rf *.php

Каталог начальной загрузки содержит файл app.php, который инициализирует структуру. В этом каталоге также находится каталог кеша, который содержит файлы, сгенерированные структурой для оптимизации производительности, такие как файлы и службы кеширования маршрутов. Laravel хранит файлы конфигурации, поставщика и кешированные службы для оптимизации получения этой информации. Проблема со мной заключалась в том, что другой разработчик запустил команду php artisan config: cache на вашем компьютере, и поскольку папка кеша содержит файлы, которые можно удалить, я удалил их и решил проблему.

Это помогло бы объяснить, что это такое и почему это помогло решить проблему.

Javier Larroulet 07.12.2018 18:17

Каталог начальной загрузки содержит файл app.php, который инициализирует структуру. В этом каталоге также находится каталог кеша, который содержит файлы, сгенерированные структурой для оптимизации производительности, такие как файлы и службы кеширования маршрутов. Laravel хранит файлы конфигурации, поставщика и кешированные службы для оптимизации получения этой информации. Проблема со мной заключалась в том, что другой разработчик запустил команду php artisan config: cache на вашем компьютере, и поскольку папка кеша содержит файлы, которые можно удалить, я удалил их и решил проблему.

Samuel Terra 08.12.2018 20:28

НЕ ЗАПУСКАЙТЕ ЭТО! Это действительно опасная команда, написанная как есть! Например, если он не находится в корневом каталоге проекта, cd завершится ошибкой, но команда rm будет выполнена! Запустите это либо как rm -rf bootstrap/cache/*, либо как cd bootstrap/cache && rm -rf *php

М.Б. 24.04.2021 20:38

возможно у вас есть ошибка в коде проекта (например, в маршрутах или контроллере). Это может быть одной из причин данной ошибки.

В моем проекте файл web.php имеет синтаксическую ошибку. Я определил это, когда запустил команду php artisan

C:\OSPanel\domains\lara.shop.loc>php artisan
In web.php line 
  syntax error, unexpected end of file  

У меня такая же проблема в Win 8 и я ее решаю:

Вот шаги.

Шаг 1. Перейдите в каталог вашего проекта.

Шаг 2: И введите команду cd bootstrap/cache/

Шаг 3: Снова введите команду del -rf *.php

Шаг 4. Обновите композитор composer update.

Шаг 5: Готово: php artisan serve

Спасибо.

У меня была такая же проблема при запуске composer update в проекте Laravel. В package.json он настроен для запуска artisan package:discover, что не удалось:

Class 'Symfony\Component\Translation\Translator' not found in vendor/nesbot/carbon/src/Carbon/Translator.php on line 18

Когда я заглянул в каталог vendor/symfony/translation, я обнаружил, что он полностью пуст, что и объясняет ошибку.

Решением было полностью удалить каталог vendor, а затем повторно запустить composer update. Это был единственный способ заставить композитора установить недостающие файлы.

Если это произошло после обновления Laravel с 6.x до 7.x, то это могло быть связано с обновлением Symfony. См. Руководство по обновлению в этой части: https://laravel.com/docs/7.x/upgrade#symfony-5-related-upgrades

Спасибо за публикацию, пропустил эту часть руководства по обновлению и попался.

Ben Everard 17.03.2020 16:49

Это исправление

Taylor Foster 19.03.2021 19:11

Вот как я решил это после обновления с laravel версии 6.x - 7.x:

В App\Exceptions\Handler поменяли

//Use Exception;
Use Throwable;

Затем методы для приема экземпляров Throwable вместо Exceptions следующим образом:

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

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

В config\session.php:

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

Затем запустите composer update

Спасибо, это правильный ответ при обновлении, как сказано в руководстве по обновлению: laravel.com/docs/7.x/upgrade#symfony-5-related-upgrades

paulmartimx 09.04.2020 18:08

У меня это тоже сработало. Спасибо. Я обновился с laravel 6 до laravel 7.

MT_Shikomba 28.12.2020 19:07

Это не настоящая ошибка. Если вы посмотрите немного выше, вы увидите фактическую ошибку. В моем случае в моем коде была ошибка:

PHP Fatal error:  Declaration of 
App\Exceptions\Handler::render($request, App\Exceptions\Exception $exception)
must be compatible with 
Illuminate\Foundation\Exceptions\Handler::render($request, Throwable $e)

Невозможно сказать вам, что на самом деле является проблемой в вашем коде, поэтому вам нужно найти настоящую причину этой ошибки в трассировке стека.

ничего не работало. Итак, я установил новый проект и прочитал Handler.php в App \ Exceptions, он был другим, вероятно, потому, что я скопировал какое-то решение и Интернет и удалил следующее:

protected $dontReport = [
    //
];

protected $dontFlash = [
    'password',
    'password_confirmation',
];

Я копирую сюда весь Handler.php, созданный laravel 7.5, может быть кому-то полезен:

<?php

namespace App\Exceptions;

use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;

class Handler extends ExceptionHandler
{
    /**
     * A list of the exception types that are not reported.
     *
     * @var array
     */
    protected $dontReport = [
        //
    ];

/**
 * A list of the inputs that are never flashed for validation exceptions.
 *
 * @var array
 */
protected $dontFlash = [
    'password',
    'password_confirmation',
];

/**
 * Report or log an exception.
 *
 * @param  \Throwable  $exception
 * @return void
 *
 * @throws \Exception
 */
public function report(Throwable $exception)
{
    parent::report($exception);
}

/**
 * Render an exception into an HTTP response.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Throwable  $exception
 * @return \Symfony\Component\HttpFoundation\Response
 *
 * @throws \Throwable
 */
public function render($request, Throwable $exception)
{
    return parent::render($request, $exception);
}

}

Та же проблема, когда я обновляю laravel с 6.x до 7.x

Я попробовал ответ, получивший наибольшее количество голосов, но он не сработал, затем я использовал php artisan serve и заметил, что:

RuntimeException

In order to use the Auth::routes() method, please install the laravel/ui package.

Попробуйте composer require laravel/ui, может он сработает.

Это происходит потому, что вы перешли на Laravel 7.

Чтобы исправить это, обновите app/Exceptions/Handler.php следующим образом:

<?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);
    }
}

Это описано в официальном руководстве по обновлению здесь:

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

Я решаю эту ошибку с помощью удаление таблицы поставщиков, затем запускаю композитор обновление. Я использую Laravel 7. Итак, если вы не обновляетесь со старой версии Laravel, возможно, это решение.

Всем привет / привет мир. Так я решил свою проблему:


Я удалил свой проект, я создал новую папку и снова клонировал репозиторий, после чего я дал композитору установку / обновление

удачи.

Я был upgrading my Laravel from 5.8 to 8.0 и получил эту ошибку.

Итак, мои исправления были

  1. Как упоминал @nobuhiroharada, я пропустил файл .env в моем проекте

  2. Во-вторых, Laravel удалил Exception и заменил его на Throwable. Поэтому нам нужно исправить это в нашем app\Exceptions\Handler.php. Для исправления ошибки можно обратиться к Medium.com.

  3. В руководстве по обновлению Laravel 8.x вам необходимо обновить зависимости как это

  4. Затем в вашем файле composer.json удалите блок карты классов из раздела автозагрузки и добавьте новые сопоставления каталогов классов с пространством имен:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/"
    }
},
  1. Наконец, из bootstrap\cache удалите файлы кеша и запустите composer update.

Эти 5 шагов могут помочь вам удалить ошибку, с которой вы столкнулись в своем проекте Laravel.

Я удалил файл composer.lock и запустил обновление композитора.

Это решило мою

Получая эту ошибку, когда моя версия композитора 2.x, я откатываю это

composer self-update --1

Теперь он отлично работает

Другие вопросы по теме