Laravel 错误“ReflectionException”-“类 App\Http\Kernel 不存在”
Posted
技术标签:
【中文标题】Laravel 错误“ReflectionException”-“类 App\\Http\\Kernel 不存在”【英文标题】:Laravel error 'ReflectionException' - 'Class App\Http\Kernel does not exist'Laravel 错误“ReflectionException”-“类 App\Http\Kernel 不存在” 【发布时间】:2022-01-13 20:17:31 【问题描述】:我试图使用我在学校开发一年的 laravel 项目上线,但遇到了一些问题。 在我的托管服务服务器上上传整个项目后,我的浏览器和 SSH shell 都出现了这些错误。
致命错误:在 /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php 中出现消息“Class App\Http\Kernel 不存在”的未捕获异常“ReflectionException”: 779 堆栈跟踪:#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/客户端/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/ /home/clients/ffa41f94063541f86a0fe6602a73caa1/myforms/vendor/laravel/framework/src/Illuminate/Container/Container.php 中的 ffa41f94063 位于第 779 行
我认为这可能与我的命名空间配置有关,因为我还没有完全理解。
这是我的 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"
我已经做了什么:
删除 /vendor 并使用composer install
进行新安装
composer dump-autoload
composer update
顺便说一句,当我插入 composer update
时出现错误
如果我应该发布另一个可能有用的文件,请通知我。
提前感谢您的帮助。
【问题讨论】:
composer update
会产生什么错误?
检查this运行composer dump-autoload
@scottevans93 它会生成我之前发布的那个。但它添加了一行:Script php artisan clear-compiled handling the post-update-cmd event returned wi th error code 255
@pari 感谢链接,他说 检查 bootstrap/app.php 中的绑定是否正确是什么意思。
【参考方案1】:
在 composer.json 中更改:
"psr-4":
"App\\": "myforms/app/"
到:
"psr-4":
"App\\": "app/"
在服务器的源目录中,运行composer update
,然后运行composer dump-autoload
Laravel 中的 PSR-4 查找相对于项目根目录的命名空间
【讨论】:
使用命令行 (php artisan app:name "my name") 更改我的 laravel 应用程序名称后测试一切是否正常。应用程序崩溃并销毁。多亏了 'git',我放弃了这些更改。但我确实面临同样的问题。 CL(作曲家转储自动加载)拯救了我的一天。谢谢。【参考方案2】:检查console/kernel.php
是否在app
文件夹内,如果不是,它可能在您的laravelApp
内。
如果是这样,请将console/kernel.php
移动到app
-文件夹。
【讨论】:
该死,我从谷歌找到了这个问题,然后我看到了 4 秒前的答案【参考方案3】:在我的情况下,composer.json 缺少右括号关闭“”并且带有“psr-4”的行在错误的 json 段中。
-
检查 composer.json 是否正确对齐“psr-4”,它应该是“autoload”部分的子项。
删除供应商
作曲家安装
好的
【讨论】:
【参考方案4】:
"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"
【讨论】:
您可以就您所做的更改添加评论吗? 虽然此代码可以解决问题,including an explanation 说明如何以及为什么解决问题将真正有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请edit您的回答添加解释并说明适用的限制和假设。以上是关于Laravel 错误“ReflectionException”-“类 App\Http\Kernel 不存在”的主要内容,如果未能解决你的问题,请参考以下文章
php [Laravel - 自定义错误消息] Laravel 5.4其他登录条件 - 添加自定义错误消息。 #All #Script #Laravel #Php