![](/img/trans.png)
[英]Laravel Error : Uncaught ReflectionException: Class App\Http\Kernel does not exist
[英]Laravel : Fatal error: Uncaught ReflectionException: Class App\Http\Kernel does not exist
所以昨晚我一直在做一些代碼(普通類/函數代碼與 kernel 或任何東西完全無關)並且一切正常,但今天當我想再次開始我的編碼時,發生了這個錯誤:
Fatal error: Uncaught ReflectionException:
Class App\Http\Kernel does not exist in H:\Hadi\vendor\laravel\framework\src\Illuminate\Container\Container.php:809
Stack trace:
#0 H:\Hadi\vendor\laravel\framework\src\Illuminate\Container\Container.php(809): ReflectionClass->__construct('App\\Http\\Kernel')
#1 H:\Hadi\vendor\laravel\framework\src\Illuminate\Container\Container.php(691): Illuminate\Container\Container->build('App\\Http\\Kernel')
#2 H:\Hadi\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(796): Illuminate\Container\Container->resolve('App\\Http\\Kernel', Array, false)
#3 H:\Hadi\vendor\laravel\framework\src\Illuminate\Container\Container.php(269): Illuminate\Foundation\Application->resolve('App\\Http\\Kernel', Array, false)
#4 H:\Hadi\vendor\laravel\framework\src\Illuminate\Container\Container.php(805): Illuminate\Container\Container->Illuminate\Container\{closure}(Object(Illuminate\Foundation\Application), Array)
#5 H:\Hadi\vendor\laravel\framework\src\Illuminate\Container\Container.php(691): I in H:\Hadi\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 811
操作系統:Windows 10
PHP 版本:7.4.9
laravel 版本:7.30.4
我已經通過閱讀以前的問題做了什么:
restore your old composer.lock file
Check composer.json for proper align of "psr-4" it should be child of "autoload" section.
Remove vendor
composer install
php artisan optimize:clear
php artisan config:cache
composer dump-autoload
composer update
Check if console/kernel.php is inside of app-folder,
這是我的 composer.json
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "7.4.7",
"anhskohbo/no-captcha": "^3.0",
"artisaninweb/laravel-soap": "0.3.0.9",
"econea/nusoap": "dev-master",
"fideloper/proxy": "^4.0",
"guzzlehttp/guzzle": "^6.5",
"hootlex/laravel-friendships": "^1.0",
"intervention/image": "^2.5",
"irazasyed/telegram-bot-sdk": "^3.0",
"laravel/framework": "^7.0",
"laravel/helpers": "^1.2",
"laravel/tinker": "^2.0",
"laravel/ui": "2.0"
},
"require-dev": {
"beyondcode/laravel-dump-server": "^1.0",
"facade/ignition": "^2.0",
"filp/whoops": "^2.0",
"fzaninotto/faker": "^1.4",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^4.1",
"phpunit/phpunit": "^8.5"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
"platform": {
"php": "7.4.7"
}
},
"extra": {
"laravel": {
"dont-discover": [
"laravel/dusk"
]
}
},
"autoload": {
"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"
]
}
}
這是我的 kernel
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use App\product;
class Kernel extends ConsoleKernel
{
protected $commands = [
];
protected function schedule(Schedule $schedule)
{
$schedule->call('App\Http\Controllers\ProductController@delete')->daily();
}
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
我的應用\Http\內核
<?php
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\App\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\App\Http\Middleware\Localization::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'is.admin' => \App\Http\Middleware\IsAdmin::class,
'locale' => \App\Http\Middleware\Localization::class,
'ssl' => \App\Http\Middleware\ForceSSL::class,
];
/**
* The priority-sorted list of middleware.
*
* This forces non-global middleware to always be in the given order.
*
* @var array
*/
protected $middlewarePriority = [
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\Authenticate::class,
\Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\Illuminate\Auth\Middleware\Authorize::class,
];
}
請幫我解決這個突如其來的問題
首先:檢查文件app/Http/Kernel.php
是否存在,它是否具有正確的命名空間和 class 名稱(沒有任何西里爾字符或其他字符):
<?php
// Should be 'App\Http'
namespace App\Http;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
// Should be 'Kernel'
class Kernel extends HttpKernel
{
//
}
如果一切看起來都是正確的——這應該是作曲家 PSR-4 加載錯誤。 嘗試刪除vendor
目錄和composer.lock
文件並運行composer install
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.