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

问题描述 投票:0回答:12

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

我做了什么:

  1. 创建了新的 Laravel 项目

  2. 检查 Laravel 是否正在本地主机上运行

    php artisan serve

  3. 使用

    php artisan key:generate --show

  4. 生成新密钥
  5. 创建了 app.yaml 文件:

runtime: php72

env_variables:
  APP_KEY: iktbUa2quYPV2av3zDx0XAuEVjwzVQY/oMfyI2PQNKk=
  APP_STORAGE: /tmp
  VIEW_COMPILED_PATH: /tmp
  SESSION_DRIVER: cookie
  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'

php laravel google-app-engine php-7 laravel-6
12个回答
47
投票

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

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

10
投票

请尝试

composer dump-autoload

它为我解决了


8
投票

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

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

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


5
投票

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

Stackdriver Logger 中的

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

此外,我不知道 App Engine 正在构建时执行composer.json(请参阅指定依赖项)。问题似乎在于它缓存了该内容。

一切都通过替换步骤 7 中的命令解决了。 :

gcloud app deploy

gcloud beta app deploy --no-cache
 

看来,如果我从一开始就按照

教程中的所有步骤进行操作,我就不会有任何问题了。


4
投票
我尝试

作曲家更新 并且工作正常


3
投票
尝试

php artisan route:clear

你就可以开始了。


3
投票
尝试跑步

composer update

composer dump-autoload
    

2
投票
转到您的项目终端并运行:

  1. composer install

    
    

  2. composer dump-autoload

    
    

  3. php artisan serve

    
    

你的问题就会消失。


1
投票
我也是 Laravel 新手,我经历过这个问题,我搜索了解决方案

    首先在终端上运行此命令

composer update


    第二次运行下面的命令

composer dump-autoload


然后查看结果:)


0
投票
只需从 ini 文件中取消注释 soduim 行

之前

;extension=sodium
之后

extension=sodium
    

0
投票
只需删除引导文件夹中的缓存内容,问题就会得到解决!


-1
投票
如果您在运行 phpUnit 测试时遇到此问题,请尝试清除 bootstrap 文件夹的缓存。

© www.soinside.com 2019 - 2024. All rights reserved.