Laravel 7 - Class 散列不存在
Laravel 7 - Class hash does not exist
我有一个新创建的 Laravel 应用程序,其中安装了 Backpack。在过去的几天里,我一直在努力将它部署到 Google 云端。
我正在使用 Laravel 7,我正在尝试部署到 Google 云 App Engine 并收到 Class hash does not exist
错误。有几次我也得到了 Class view does not exist
.
我很确定这与部署环境有关,而不是我的更改。我这么说的原因是,今天早上我更新了 backpack/crud
版本,部署后应用 运行 成功。
所以只是为了测试,我在没有做任何更改的情况下再次部署,上传了零个文件,我 运行 遇到了同样的问题!
如果有人能指点我可以尝试的方法,那就太好了。
2020/07/09 23:42:46 [error] 20#20: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught ReflectionException: Class hash does not exist in /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php:805
Stack trace:
#0 /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php(805): ReflectionClass->__construct('hash')
#1 /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php(687): Illuminate\Container\Container->build('hash')
#2 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(796): Illuminate\Container\Container->resolve('hash', Array, true)
#3 /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php(633): Illuminate\Foundation\Application->resolve('hash', Array)
#4 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(781): Illuminate\Container\Container->make('hash', Array)
#5 /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php(1280): Illuminate\Foundation\Application->make('hash')
#6 /srv/vendor/laravel/framework/src/Illuminate/Auth/CreatesUserPro...PHP message: PHP Fatal error: Uncaught ReflectionException: Class hash does not exist in /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php:805
我的composer.json-
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^7.2.5",
"backpack/crud": "4.1.*",
"backpack/permissionmanager": "^6.0",
"fideloper/proxy": "^4.2",
"fruitcake/laravel-cors": "^1.0",
"guzzlehttp/guzzle": "^6.3",
"intervention/image": "^2.5",
"laravel/framework": "^7.0",
"laravel/tinker": "^2.0",
"superbalist/laravel-google-cloud-storage": "^2.2"
},
"require-dev": {
"backpack/generators": "^3.1",
"facade/ignition": "^2.0",
"fzaninotto/faker": "^1.9.1",
"laracasts/generators": "^1.1",
"mockery/mockery": "^1.3.1",
"nunomaduro/collision": "^4.1",
"phpunit/phpunit": "^8.5"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"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"
],
"post-install-cmd": [
"composer clearcache",
"chmod -R 755 bootstrap\/cache",
"php artisan cache:clear",
"php artisan config:clear"
]
}
}
我运行经常遇到类似的问题。虽然不完全相同,但它可能足够相似,可以为您解决。对我来说,这通常是构建的缓存问题。
如果在作曲家更新后发生这种情况,而您忘记执行 --no-dev
然后在下一次更新时删除内容,则可能会发生此错误。
修复:
要么是非开发问题,要么是构建的一般缓存问题,请手动进入 bootstrap/cache 文件夹并删除文件,尤其是包文件。或者,如果您将环境设置为 DEV
,而您实际上并没有引入开发包,请返回并进行 composer 更新(没有 no-dev)
或者,如果您仍然卡住,您可以尝试更新没有脚本的作曲家,然后安装。
就我而言,一旦它仍在尝试加载调试栏。
我有一个新创建的 Laravel 应用程序,其中安装了 Backpack。在过去的几天里,我一直在努力将它部署到 Google 云端。
我正在使用 Laravel 7,我正在尝试部署到 Google 云 App Engine 并收到 Class hash does not exist
错误。有几次我也得到了 Class view does not exist
.
我很确定这与部署环境有关,而不是我的更改。我这么说的原因是,今天早上我更新了 backpack/crud
版本,部署后应用 运行 成功。
所以只是为了测试,我在没有做任何更改的情况下再次部署,上传了零个文件,我 运行 遇到了同样的问题!
如果有人能指点我可以尝试的方法,那就太好了。
2020/07/09 23:42:46 [error] 20#20: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught ReflectionException: Class hash does not exist in /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php:805
Stack trace:
#0 /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php(805): ReflectionClass->__construct('hash')
#1 /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php(687): Illuminate\Container\Container->build('hash')
#2 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(796): Illuminate\Container\Container->resolve('hash', Array, true)
#3 /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php(633): Illuminate\Foundation\Application->resolve('hash', Array)
#4 /srv/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(781): Illuminate\Container\Container->make('hash', Array)
#5 /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php(1280): Illuminate\Foundation\Application->make('hash')
#6 /srv/vendor/laravel/framework/src/Illuminate/Auth/CreatesUserPro...PHP message: PHP Fatal error: Uncaught ReflectionException: Class hash does not exist in /srv/vendor/laravel/framework/src/Illuminate/Container/Container.php:805
我的composer.json-
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"require": {
"php": "^7.2.5",
"backpack/crud": "4.1.*",
"backpack/permissionmanager": "^6.0",
"fideloper/proxy": "^4.2",
"fruitcake/laravel-cors": "^1.0",
"guzzlehttp/guzzle": "^6.3",
"intervention/image": "^2.5",
"laravel/framework": "^7.0",
"laravel/tinker": "^2.0",
"superbalist/laravel-google-cloud-storage": "^2.2"
},
"require-dev": {
"backpack/generators": "^3.1",
"facade/ignition": "^2.0",
"fzaninotto/faker": "^1.9.1",
"laracasts/generators": "^1.1",
"mockery/mockery": "^1.3.1",
"nunomaduro/collision": "^4.1",
"phpunit/phpunit": "^8.5"
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"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"
],
"post-install-cmd": [
"composer clearcache",
"chmod -R 755 bootstrap\/cache",
"php artisan cache:clear",
"php artisan config:clear"
]
}
}
我运行经常遇到类似的问题。虽然不完全相同,但它可能足够相似,可以为您解决。对我来说,这通常是构建的缓存问题。
如果在作曲家更新后发生这种情况,而您忘记执行 --no-dev
然后在下一次更新时删除内容,则可能会发生此错误。
修复:
要么是非开发问题,要么是构建的一般缓存问题,请手动进入 bootstrap/cache 文件夹并删除文件,尤其是包文件。或者,如果您将环境设置为 DEV
,而您实际上并没有引入开发包,请返回并进行 composer 更新(没有 no-dev)
或者,如果您仍然卡住,您可以尝试更新没有脚本的作曲家,然后安装。 就我而言,一旦它仍在尝试加载调试栏。