Laravel 错误 “ReflectionException” - “类应用\Http\Kernel 不存在”

2022-08-31 00:51:18

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

致命错误:未捕获的异常“ReflectionException”,消息“类 App\Http\Kernel 不存在”在 /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/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第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

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

提前感谢您的帮助。


答案 1

在 composer.json 中更改:

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

自:

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

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

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


答案 2

检查 是否在 -folder 内部,如果不是,则可能在 .console/kernel.phpapplaravelApp

如果是这样,请移动到 -folder。console/kernel.phpapp


推荐