-->

Laravel with App Engine Standard Class 'Facade

2020-07-22 17:22发布

问题:

This is driving me crazy second day. I'm new to Laravel and trying to get Laravel 6 work on Google App Engine Standard. Tried: This tutorial and other ones, but it still fails to load Laravel index page

What I have done:

  1. Created new Laravel project

  2. Checked that Laravel is working on local host with php artisan serve

  3. Generated new key with php artisan key:generate --show

  4. Created app.yaml file with:

runtime: php72

env_variables:
  APP_KEY: iktbUa2quYPV2av3zDx0XAuEVjwzVQY/oMfyI2PQNKk=
  APP_STORAGE: /tmp
  VIEW_COMPILED_PATH: /tmp
  SESSION_DRIVER: cookie
  1. Modified bootstrap/app.php by adding $app->useStoragePath(env('APP_STORAGE', base_path() . '/storage'));

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

  3. Also ran: php artisan cache:clear, php artisan route:cache, php artisan config:clear, php artisan view:clear (as other tutorials suggested)

  4. And gcloud app deploy

And I get error: "Class 'Facade\Ignition\IgnitionServiceProvider' not found"

回答1:

I have experienced other errors as well, most of them gave me Error 500 and

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 in Stackdriver Logger

Also I was not aware that App Engine was executing composer.json on build (see Specifying Dependencies). And it seems the issue was that it cached that.

Everything was resolved by replacing command in step 7. :

gcloud app deploy with gcloud beta app deploy --no-cache

It seems that if I would have done all steps as in tutorial from the start I would not have any issues.



回答2:

Try

php artisan route:clear

and you're good to go.



回答3:

Please Try

composer dump-autoload

It solved for me



回答4:

App engine install dependency with "--no-dev" flag. If your application is debug mode and there is an error application is try to render error page by "facade/ignition" packages.

Solve-1: You can move "facade/ignition" dependency from "require-dev" to "dev" in composer.json file

Solve-2: You can run as production environment and with false APP_DEBUG flag