Laravel 错误 'ReflectionException' - 'Class App\Http\Kernel 不存在'

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/38918982/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 14:18:36  来源:igfitidea点击:

Laravel error 'ReflectionException' - 'Class App\Http\Kernel does not exist'

phplaravelnamespacespsr-4

提问by NicoSalvadore

I was trying to go live with a laravel project i developped a year back in school and i ran into some issue. After uploading the whole project on my hosting service's server, i got these errors on my browser as well as on my SSH shell.

我试图将我在学校开发一年的 laravel 项目上线,但我遇到了一些问题。在我的托管服务的服务器上上传整个项目后,我在浏览器和 SSH shell 上收到了这些错误。

Fatal error: Uncaught exception 'ReflectionException' with message 'Class App\Http\Kernel does not exist' in /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php:779 Stack trace: #0 /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php(779): ReflectionClass->__construct('App\Http\Kernel') #1 /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php(659): Illuminate\Container\Container->build('App\Http\Kernel', Array) #2 /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(644): Illuminate\Container\Container->make('App\Http\Kernel', Array) #3 /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php(229): Illuminate\Foundation\Application->make('App\Http\Kernel', Array) #4 /home/clients/ffa41f94063 in /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 779

致命错误:在 /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php:779 Stack trace : #0 /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php(779): ReflectionClass->__construct('App\Http\Kernel') #1 /home/clients /ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php(659): Illuminate\Container\Container->build('App\Http\Kernel', Array) #2 /home/clients/ ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(644): Illuminate\Container\Container->make('App\Http\Kernel',Array) #3 /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php(229): Illuminate\Foundation\Application->make('App\Http\Kernel', Array ) #4 /home/clients/ffa41f94063 in /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 779

I think it could be related to my namespace configuration, because i haven't all understood yet.

我认为这可能与我的命名空间配置有关,因为我还没有完全理解。

Here is my composer.json file :

这是我的 composer.json 文件:

{
 "name": "laravel/laravel",
 "description": "The Laravel Framework.",
 "keywords": ["framework", "laravel"],
 "license": "MIT",
 "type": "project",
 "require": {
  "laravel/framework": "5.0.*",
  "illuminate/html": "5.*",
  "barryvdh/laravel-dompdf": "0.5.*",
  "guzzlehttp/guzzle": "~4.0"

 },
 "require-dev": {
  "phpunit/phpunit": "~4.0",
  "phpspec/phpspec": "~2.1"
 },
 "autoload": {
  "classmap": [
   "database"
  ],
  "psr-4": {
   "App\": "myforms/app/"
  }
 },
 "autoload-dev": {
  "classmap": [
   "tests/TestCase.php"
  ]
 },
 "scripts": {
  "post-install-cmd": [
   "php artisan clear-compiled",
   "php artisan optimize"
  ],
  "post-update-cmd": [
   "php artisan clear-compiled",
   "php artisan optimize"
  ],
  "post-create-project-cmd": [
   "php -r \"copy('.env.example', '.env');\"",
   "php artisan key:generate"
  ]
 },
 "config": {
  "preferred-install": "dist"
 }
}

What I have already done :

我已经做了什么:

  • Delete /vendor and make a new install with composer install
  • composer dump-autoload
  • composer updatebtw, I get the error when I insert the composer update
  • 删除 /vendor 并进行新安装 composer install
  • composer dump-autoload
  • composer update顺便说一句,当我插入时出现错误 composer update

Please inform me if i should post another file that could be useful.

如果我应该发布另一个可能有用的文件,请通知我。

Thanks in advance for your help.

在此先感谢您的帮助。

回答by Roger Creasy

In composer.json change:

在 composer.json 中更改:

 "psr-4": {
        "App\": "myforms/app/"
    } 

to:

到:

 "psr-4": {
        "App\": "app/"
    }

On the server, in your source directory, run composer updatethen composer dump-autoload

在服务器上的源目录中,composer update然后运行composer dump-autoload

PSR-4 in Laravel looks for namespaces relative to the root of the project

Laravel 中的 PSR-4 查找相对于项目根目录的命名空间

回答by odionk

Check if console/kernel.phpis inside of app-folder, if not it might be inside of your laravelApp.

检查是否console/kernel.php在 - 文件app夹内,如果不是,它可能在您的laravelApp.

If so, move console/kernel.phpto app-folder.

如果是这样,请移至console/kernel.php- 文件app夹。

回答by Lazirro

In my case composer.json was missing propper bracket closing "{ }" and line with "psr-4" was in wrong json segment.

在我的情况下,composer.json 缺少右括号关闭“{}”并且带有“psr-4”的行在错误的 json 段中。

  1. Check composer.json for proper align of "psr-4" it should be child of "autoload" section.
  2. Remove vendor
  3. composer install
  1. 检查 composer.json 是否正确对齐“psr-4”,它应该是“自动加载”部分的子项。
  2. 移除供应商
  3. 作曲家安装

OK

好的

回答by ZAKARIA Al HASEINI

{
 "name": "laravel/laravel",
 "description": "The Laravel Framework.",
 "keywords": ["framework", "laravel"],
 "license": "MIT",
 "type": "project",
 "require": {
  "laravel/framework": "5.0.*",
  "illuminate/html": "5.*",
  "barryvdh/laravel-dompdf": "0.5.*",
  "guzzlehttp/guzzle": "~4.0"

 },
 "require-dev": {
  "phpunit/phpunit": "~4.0",
  "phpspec/phpspec": "~2.1"
 },
 "autoload": {
  "classmap": [
   "database"
  ],
  "psr-4": {
   "App\": "myforms/app/"
  }
 },
 "autoload-dev": {
  "classmap": [
   "tests/TestCase.php"
  ]
 },
 "scripts": {
  "post-install-cmd": [
   "php artisan clear-compiled",
   "php artisan optimize"
  ],
  "post-update-cmd": [
   "php artisan clear-compiled",
   "php artisan optimize"
  ],
  "post-create-project-cmd": [
   "php -r \"copy('.env.example', '.env');\"",
   "php artisan key:generate"
  ]
 },
 "config": {
  "preferred-install": "dist"
 }
}