Laravel 5.7更新时出现“ ReflectionException:类配置不存在”

时间:2019-01-30 22:37:49

标签: laravel-5.7 aws-code-deploy php-7.1 laravel-dusk

更新到Laravel 5.7后,当我推送到测试服务器时,我突然遇到此错误:“ ReflectionException:类配置不存在”。

我不我的开发环境体验一下。

我采取了此处概述的步骤: Laravel Dusk - Class config does not exist

我没有任何空格在我.ENV文件 - 我已经穿过了这行由行4倍。

我还没有使用Dusk进行任何操作-(旁注可能对像我一样绊脚的人有所帮助:起初,我遇到了Dusk告诉我不要在产品中使用Dusk的问题。事实证明,是因为我的部署脚本没有移动我的.env文件-如果不存在.env文件,它将引发相同的错误。)

我正在跑步:

  • PHP 7.1.26
  • Laravel /框架24年5月7日
  • Laravel / Dusk 4.0

Composer.json:

    "require": {
        "php": ">=7.1.3",
        "laravel/framework": "5.7.*",
        "fideloper/proxy": "^4.0",
        "cartalyst/sentinel": "2.0.*",
        "guzzlehttp/guzzle": "~6.0",
        "imgix/imgix-php": "^1.1",
        "Jasekz/Laradrop":"1.*",
        "browner12/helpers": "^1.0",
        "mtdowling/jmespath.php":"2.4",
        "davejamesmiller/laravel-breadcrumbs": "5.*",
        "league/flysystem-aws-s3-v3": "~1.0",
        "laravel/passport": "~7.0",
        "laravel/tinker": "~1.0",
        "facebook/webdriver": "^1.6",
        "laravelcollective/html": "^5.7"
    },"require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~7.3",
        "symfony/css-selector": "3.1.*",
        "symfony/dom-crawler": "3.1.*",
        "reliese/laravel": "^0.0.13",
        "laravel/dusk": "^4.0",
        "filp/whoops": "~2.0"
    },

我试图composer dump-autoload无济于事。我试图切换phpunit版本没有任何运气。

2 个答案:

答案 0 :(得分:0)

经过三天的绞尽脑汁,我发现了自己愚蠢的错误,并认为自己会分享。

我的情况是这样:

  1. 我以前将vendor文件夹提交到了我的仓库中,因为我是在没有构建步骤的情况下从我的仓库中进行部署的。
  2. 现在,我已经建立了一个部署管道,当我提交到特定分支时,该管道可以编译和部署我的代码。
  3. 我在该管道中将composer update作为命令,因此决定是时候遵循最佳实践并将/vendor添加到我的.gitignore文件中了。
  4. 在将仓库添加到/vendor文件之前,我没有从仓库中删除.gitignore文件夹。
  5. 这导致/vendor文件夹被锁定到我的存储库中,而未从其中删除。

我采取了各种行动,试图弄清到底是怎么回事。我尝试将服务器上的版本下载到本地计算机上,并遇到了同样的问题。


TL; DR:

最后,我偶然发现了一些建议 简单删除/vendor文件夹,然后运行composer install来刷新整个供应商文件夹的内容。 无论如何,这对我来说是成功的秘诀。似乎针对此特定问题的错误消息不是很指导,但这可能是因为没有人希望有人愚蠢到完全忽略“不要将/vendor文件夹提交给您的仓库”的指导。 ”。因此,这似乎源于我的方案在composer update上无法解决的依赖项不匹配。

答案 1 :(得分:0)

我有同样的问题。只需删除bootstrap/cache/中的文件即可解决问题。

cd bootstrap/cache/
rm -rf *.php