Laravel 7-类哈希不存在
我有一个新创建的Laravel应用程序,其中安装了背包。在过去的几天里,我一直在努力将其部署到谷歌云 我正在使用Laravel7,我正在尝试部署到Google云应用程序引擎,并且获取的Laravel 7-类哈希不存在,laravel,google-app-engine,gcloud,Laravel,Google App Engine,Gcloud,我有一个新创建的Laravel应用程序,其中安装了背包。在过去的几天里,我一直在努力将其部署到谷歌云 我正在使用Laravel7,我正在尝试部署到Google云应用程序引擎,并且获取的类哈希不存在错误。有几次我还发现类视图不存在 我很确定这与部署环境有关,而不是我的更改。我这么说的原因是,今天早上我更新了backpack/crud版本,应用程序在部署后成功运行 所以,为了测试,我再次部署,没有做任何更改,没有上传任何文件,我遇到了同样的问题 如果有人能给我指点我可以尝试的东西,那就太好了 202
类哈希不存在
错误。有几次我还发现类视图不存在
我很确定这与部署环境有关,而不是我的更改。我这么说的原因是,今天早上我更新了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
mycomposer.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"
]
}
}
我经常遇到类似的问题。虽然不完全相同,但它可能足够相似,这将为您解决它。对我来说,这通常是一个缓存问题的建设 如果在composer更新之后发生这种情况,而您忘记执行
--no dev
,然后在下次更新时删除内容,则可能会发生此错误
要修复:
无论是无开发问题,还是构建中的一般缓存问题,请手动进入bootstrap/cache文件夹并删除文件,尤其是包文件。或者,如果您已经将环境设置为DEV
,并且实际上没有拉入DEV包,请返回并编写器更新(没有DEV)
或者,如果您仍然被卡住,您可以尝试在没有脚本的情况下更新composer,然后安装。
在我的例子中,有一次它仍在尝试加载debugbar。似乎更多的是由于某种原因没有设置“hash”容器上的绑定。我没有使用
--no dev
安装任何东西。我注意到在bootstrap/cache
中部署后,config.php
丢失了。这可能是问题所在吗?我该怎么做才能强制重新生成它?回答我自己的问题,bootstrap/cache
中不需要config.php
。--no dev
是我的问题所在。但问题实际上是在composer安装后缓存系统出现故障——不一定来自——没有dev
。在任何一种情况下,如果我删除packages.php,这在90%的情况下解决了这个问题。如果这对你不起作用,这可能是一个无关的问题。