首页 > 解决方案 > Laravel 项目在本地主机上运行完美,在 GAE 上响应错误 500

问题描述

我对使用实时项目还很陌生。

我的项目在本地主机上完美运行,我使用命令将完全相同的副本部署到谷歌应用引擎gcloud beta app deploy

我的欢迎页面完美运行:

在此处输入图像描述

以及我的身份验证页面:

在此处输入图像描述

在身份验证过程之后,我得到以下响应:

在此处输入图像描述

为了验证该帐户是否已通过身份验证,我的路由 URL 正在重定向到仪表板:example.com/admin/users

我的 app.yaml 文件如下:

runtime: php
env: flex

runtime_config:
  document_root: public

# Ensure we skip ".env", which is only for local development
skip_files:
  - .env

env_variables:
  # Put production environment variables here.
  APP_LOG: errorlog
  APP_KEY: App-key
  STORAGE_DIR: /tmp
  CACHE_DRIVER: file
  SESSION_DRIVER: file

  ## Set these environment variables according to your CloudSQL configuration.
  DB_HOST: localhost
  DB_DATABASE: lara
  DB_USERNAME: root
  DB_PASSWORD: password
  DB_SOCKET: /cloudsql/connection-name

  MAIL_MAILER: smtp
  MAIL_HOST: smtp.mailtrap.io
  MAIL_PORT: 2525
  MAIL_USERNAME:username
  MAIL_PASSWORD: password
  MAIL_FROM_ADDRESS: from@example.com
  MAIL_FROM_NAME: {App-Name}
#we need this for the flex environment
beta_settings:
   # for Cloud SQL, set this value to the Cloud SQL connection name,
   cloud_sql_instances: connection-name

这是我的日志? 在此处输入图像描述

这是它正在寻找的视图: 在此处输入图像描述

我的路线: 在此处输入图像描述

标签: google-app-enginelaravel-6

解决方案


有趣的是,小事情如何产生最大的问题,我花了 3 多周的时间来解决这个问题。

在我进行研究时,我发现 Google App 引擎区分大小写,因此以下是我用来解决此问题的步骤:

第一次我检查了我的路线php artisan route:list,我的路线是route: admin.users.index,我的文件结构是--path: views/Admin/Users/index.blade.php,所以我将所有文件夹更改为小写以匹配路线。

然后我运行了以下命令:

php artisan cache:clear

php artisan route:clear

php artisan view:clear

最后,我在 composer.json 文件的脚本下添加了以下脚本: "post-install-cmd": [ "chmod -R 755 bootstrap\/cache", "php artisan cache:clear" ] 部署使用gcloud app deploy

像魅力一样工作。


推荐阅读