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

laravel 怎么抓去错误日志

在“422(无法处理的实体)”Laravel 7 中验证错误时出现错误

Laravel 5 安装错误

Laravel 工匠服务错误

Laravel 5.4 错误 405 方法不允许错误