Я перенес свой проект с рабочего стола на другой.
Когда я запускаю php artisan, он не работает.
Я попытался запустить composer update, но он возвращает ошибку
Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255
это была проблема в трейте, но я не мог найти, несмотря ни на что, используя что-то вроде packagist.org/packages/nunomaduro/larastan, можно поймать это






У вас есть файл .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 на вашем компьютере, и поскольку папка кеша содержит файлы, которые можно удалить, я удалил их и решил проблему.
Это помогло бы объяснить, что это такое и почему это помогло решить проблему.
Каталог начальной загрузки содержит файл app.php, который инициализирует структуру. В этом каталоге также находится каталог кеша, который содержит файлы, сгенерированные структурой для оптимизации производительности, такие как файлы и службы кеширования маршрутов. Laravel хранит файлы конфигурации, поставщика и кешированные службы для оптимизации получения этой информации. Проблема со мной заключалась в том, что другой разработчик запустил команду php artisan config: cache на вашем компьютере, и поскольку папка кеша содержит файлы, которые можно удалить, я удалил их и решил проблему.
НЕ ЗАПУСКАЙТЕ ЭТО! Это действительно опасная команда, написанная как есть! Например, если он не находится в корневом каталоге проекта, cd завершится ошибкой, но команда rm будет выполнена! Запустите это либо как rm -rf bootstrap/cache/*, либо как cd bootstrap/cache && rm -rf *php
возможно у вас есть ошибка в коде проекта (например, в маршрутах или контроллере). Это может быть одной из причин данной ошибки.
В моем проекте файл 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
Спасибо за публикацию, пропустил эту часть руководства по обновлению и попался.
Это исправление
Вот как я решил это после обновления с 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
У меня это тоже сработало. Спасибо. Я обновился с laravel 6 до laravel 7.
Это не настоящая ошибка. Если вы посмотрите немного выше, вы увидите фактическую ошибку. В моем случае в моем коде была ошибка:
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 и получил эту ошибку.
Итак, мои исправления были
Как упоминал @nobuhiroharada, я пропустил файл .env в моем проекте
Во-вторых, Laravel удалил Exception и заменил его на Throwable. Поэтому нам нужно исправить это в нашем app\Exceptions\Handler.php. Для исправления ошибки можно обратиться к Medium.com.
В руководстве по обновлению Laravel 8.x вам необходимо обновить зависимости как это
Затем в вашем файле composer.json удалите блок карты классов из раздела автозагрузки и добавьте новые сопоставления каталогов классов с пространством имен:
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
},bootstrap\cache удалите файлы кеша и запустите composer update.Эти 5 шагов могут помочь вам удалить ошибку, с которой вы столкнулись в своем проекте Laravel.
Я удалил файл composer.lock и запустил обновление композитора.
Это решило мою
Получая эту ошибку, когда моя версия композитора 2.x, я откатываю это
composer self-update --1
Теперь он отлично работает
Для меня это было вызвано разрешениями на папку. chown -R u: g и chmod -R 755 сделали всю работу за меня.