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

Pro*_*gZi 11 php google-app-engine laravel php-7 laravel-6

这让我第二天发疯。我是 Laravel 的新手,并试图让 Laravel 6 在 Google App Engine 标准上工作。尝试:本教程和其他教程,但仍然无法加载 Laravel 索引页面

我做了什么:

  1. 创建新的 Laravel 项目

  2. 检查 Laravel 是否在本地主机上工作 php artisan serve

  3. 生成的新密钥 php artisan key:generate --show

  4. 使用以下命令创建 app.yaml 文件:

runtime: php72

env_variables:
  APP_KEY: iktbUa2quYPV2av3zDx0XAuEVjwzVQY/oMfyI2PQNKk=
  APP_STORAGE: /tmp
  VIEW_COMPILED_PATH: /tmp
  SESSION_DRIVER: cookie
Run Code Online (Sandbox Code Playgroud)
  1. 通过添加修改 bootstrap/app.php $app->useStoragePath(env('APP_STORAGE', base_path() . '/storage'));

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

  3. 还跑了: php artisan cache:clear, php artisan route:cache, php artisan config:clear, php artisan view:clear(如其他教程所建议的那样)

  4. gcloud app deploy

我得到错误:“找不到类‘Facade\Ignition\IgnitionServiceProvider’

在此处输入图片说明

Abi*_*yah 14

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

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

  • 甚至无需第 3 步即可工作。谢谢 (2认同)

小智 8

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

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

Solve-2:您可以作为生产环境运行并使用错误的 APP_DEBUG 标志


小智 6

请尝试

composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

它为我解决了


Pro*_*gZi 5

我也遇到过其他错误,其中大多数都给了我错误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(请参阅指定依赖项)。问题似乎在于它缓存了该内容。

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

gcloud app deploygcloud beta app deploy --no-cache

看来,如果我从一开始就按照教程中的步骤完成所有步骤,我就不会有任何问题。