未找到带有 App Engine 标准类“Facade\Ignition\IgnitionServiceProvider”的 Laravel

Posted

技术标签:

【中文标题】未找到带有 App Engine 标准类“Facade\\Ignition\\IgnitionServiceProvider”的 Laravel【英文标题】:Laravel with App Engine Standard Class 'Facade\Ignition\IgnitionServiceProvider' not found未找到带有 App Engine 标准类“Facade\Ignition\IgnitionServiceProvider”的 Laravel 【发布时间】:2020-01-24 23:34:48 【问题描述】:

第二天这让我发疯了。我是 Laravel 的新手,并试图让 Laravel 6 在 Google App Engine Standard 上运行。 试过了:This tutorial等,还是加载Laravel索引页失败

我做了什么:

    创建了新的 Laravel 项目

    检查 Laravel 是否正在使用 php artisan serve 的本地主机上工作

    使用php artisan key:generate --show 生成新密钥

    创建了 app.yaml 文件:

runtime: php72

env_variables:
  APP_KEY: iktbUa2quYPV2av3zDx0XAuEVjwzVQY/oMfyI2PQNKk=
  APP_STORAGE: /tmp
  VIEW_COMPILED_PATH: /tmp
  SESSION_DRIVER: cookie

    通过添加$app->useStoragePath(env('APP_STORAGE', base_path() . '/storage'));修改bootstrap/app.php

    composer remove --dev beyondcode/laravel-dump-server

    还跑了: php artisan cache:clear, php artisan route:cache, php artisan config:clear, php artisan view:clear(按照其他教程的建议)

    还有gcloud app deploy

我得到错误:“Class 'Facade\Ignition\IgnitionServiceProvider' not found

【问题讨论】:

您是否在config/app.php [provider & alias] 中注册了您的提供商? 【参考方案1】:

如果您在将 composer 1.0 升级到 2.0 后遇到此问题。然后你可以按照这个步骤:

    进入项目目录 运行作曲家安装 运行 composer dump-autoload 尝试运行php artisan serve 它为我解决了

【讨论】:

我从 composer 1.x 升级到 composer 2.x 所以报告了这个问题。你的回答帮助了我。谢谢:) 谢谢。它也帮助了我。 它甚至可以在没有步骤 3 的情况下工作。谢谢【参考方案2】:

请尝试

composer dump-autoload

它为我解决了

【讨论】:

这破坏了我的所有应用程序。 @KrishnaKarki 这只是确保您的依赖文件被正确地发现和加载。它不应该破坏你的应用程序,除非依赖项本身正确地破坏了你的应用程序,或者除非你的作曲家版本有差异(即用作曲家 v1 安装初始的 deps,用 v2 安装新的 deps 等)跨度> 【参考方案3】:

带有“--no-dev”标志的应用引擎安装依赖项。如果您的应用程序处于调试模式并且有错误应用程序尝试通过“外观/点火”包呈现错误页面。

Solve-1:你可以在 composer.json 文件中将“facade/ignition”依赖从“require-dev”移动到“dev”

解决方案 2:您可以作为生产环境运行并使用错误的 APP_DEBUG 标志

【讨论】:

【参考方案4】:

我也遇到过其他错误,其中大多数给了我错误 500

nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /tmp/google-config/nginx.conf:3 在 Stackdriver Logger 中

我也不知道 App Engine 在构建时正在执行 composer.json(请参阅 Specifying Dependencies)。似乎问题在于它缓存了它。

所有问题已通过替换步骤 7 中的命令解决。

gcloud app deploygcloud beta app deploy --no-cache

似乎如果我从一开始就按照tutorial 中的所有步骤完成所有步骤,我将不会有任何问题。

【讨论】:

【参考方案5】:

试试

php artisan route:clear

你可以走了。

【讨论】:

【参考方案6】:

我试试 作曲家更新 并且工作正常

【讨论】:

【参考方案7】:

尝试运行

composer update

composer dump-autoload

【讨论】:

【参考方案8】:

如果您在运行 phpUnit 测试时遇到此问题,请尝试清除引导文件夹的缓存。

【讨论】:

以上是关于未找到带有 App Engine 标准类“Facade\Ignition\IgnitionServiceProvider”的 Laravel的主要内容,如果未能解决你的问题,请参考以下文章

仅限本地的 App Engine 标准 Python3 处理程序错误

如何使用App Engine上的Python标准环境连接到Cloud SQL上的Postgres

带有主干模板的车把未渲染

Google App Engine检查更新

App Engine标准环境中的Python 3快速入门

我如何从Google App Engine中触发一个HTTP云函数?