【问题标题】:Cannot deploy OctoberCMS to Google App Engine (Flex)无法将 OctoberCMS 部署到 Google App Engine (Flex)
【发布时间】:2018-11-22 19:10:35
【问题描述】:

我在尝试将 OctoberCMS+sqlite(基于 Laravel 5.5)部署到谷歌应用引擎时遇到以下问题,这是我的部署错误:

...
Step #1:   - Installing october/backend (v1.0.436): Downloading (100%)
Step #1:   - Installing october/cms (v1.0.436): Downloading (100%)
Step #1:   - Installing october/system (v1.0.436): Downloading (100%)
Step #1: Generating optimized autoload files
...
Step #1: > php artisan cache:clear
Step #1: Cache cleared successfully.
Step #1: > php artisan cache:clear
Step #1: 
Step #1: In Connection.php line 664:
Step #1:                                                                                
Step #1:   could not find driver (SQL: select * from "system_settings" where "item" =   
Step #1:   vojtasvoboda_errorlogger_settings limit 1)                                   
Step #1:                                                                                
Step #1: 
Step #1: In PDOConnection.php line 47:
Step #1:                          
Step #1:   could not find driver  
Step #1:                          
Step #1: 
Step #1: In PDOConnection.php line 43:
Step #1:                          
Step #1:   could not find driver  
Step #1:                          
Step #1: 
Step #1: Script php artisan cache:clear handling the post-install-cmd event returned with error code 1
Step #1: The command '/bin/sh -c /build-scripts/composer.sh' returned a non-zero code: 1
Finished Step #1
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/docker@sha256:5836cd0f940f2f1a912b8fee4c74e5f1a84df92aab557c608a94e171e9df8d46" failed: exit status 1
Step #1: 
------------------------------------------------------------------------------------------------------------------------------------------------------

ERROR: (gcloud.app.deploy) Cloud build failed. Check logs at https://console.cloud.google.com/gcr/builds/23c79228-9500-4c42-8bea-9b8076e30c42?project=1055473064866 Failure status: UNKNOWN: Error Response: [2] Build failed; check build logs for details

这是我的 app.yaml

runtime: php
env: flex

runtime_config:
  document_root: .

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

env_variables:
  # Put production environment variables here.
  APP_LOG: errorlog
  #APP_KEY: LCG9E1xG5FQDMNauR8wWW3GTyB6Tj6Nv
  STORAGE_DIR: /tmp

这是我的数据库:

...
'default' => env('DB_CONNECTION', 'sqlite'),
...

'sqlite' => [
    'driver'   => 'sqlite',
    'database' => env('DB_DATABASE', 'storage/database.sqlite'),
    'prefix'   => '',
],
    ...

我的 GAE 是灵活的环境,它应该能够在那里使用框架和 CMS,但不幸的是,这个错误不允许我在这个服务上安装这个基于 Laravel 的 CMS。

对此的任何帮助将不胜感激。 谢谢

【问题讨论】:

    标签: php sqlite google-app-engine laravel-5 octobercms


    【解决方案1】:

    我认为GAE不支持并发文件操作,因为:

    1) 用 C 编写的 SQLite 2) SQLite 需要本地 I/O,而 App Engine 运行时无法提供给您

    此处提及:https://www.quora.com/Can-I-use-an-offline-SQLite-file-in-Google-App-Engine-for-Java、issuetracker.google.com/issues/35895573 和此处Open SQLite database on Google App Engine

    【讨论】:

      【解决方案2】:

      我不确定,但由于 CMS 尝试使用 mysql_pdo 驱动程序查找数据,因此出现错误是由于 MySQL

      你能明确告诉环境我们正在使用sqlite

      尝试在环境中添加DB_CONNECTION = sqlite

      env_variables:
        # ADD EXPLICIT VALUE
        DB_CONNECTION: sqlite
        # Put production environment variables here.
        APP_LOG: errorlog
        #APP_KEY: LCG9E1xG5FQDMNauR8wWW3GTyB6Tj6Nv
        STORAGE_DIR: /tmp
      

      如果不起作用,请尝试添加硬编码值

      'default' => env('DB_CONNECTION', 'sqlite'),
      
      REPLACE THIS TO
      
      'default' => 'sqlite',
      

      如果它对您有用或遇到任何其他问题,请发表评论。

      【讨论】:

      • 我认为GAE不支持并发文件操作,这里提到:issuetracker.google.com/issues/35895573
      • 嗯,他们应该支持您为服务付费,希望他们尽快添加支持
      • @YusufIbrahim 你可以为自己发布答案,最后得到一点!
      【解决方案3】:

      您收到的错误是由于 SQLite 造成的,但这不是您的设置中唯一会阻止您在应用引擎柔性环境中安装 OctoberCMS 的问题。

      例如,OctoberCMS 还需要能够修改文件,为此您需要配置 Docker 容器。您必须设置运行时:自定义。

      你最好遵循配置教程:https://webmotion.medium.com/how-to-install-octobercms-laravel-application-on-google-app-engine-c77a9185f420

      【讨论】:

        猜你喜欢
        • 2020-05-06
        • 1970-01-01
        • 2020-12-22
        • 2011-07-28
        • 1970-01-01
        • 1970-01-01
        • 2015-02-19
        • 2012-02-11
        • 1970-01-01
        相关资源
        最近更新 更多