2017-09-04 88 views
0

我得到了一個運行Docker的Zend Expressive應用程序。通常這個項目運行,但是當我將它添加到bitbucket存儲庫,然後git克隆它,用docker構建,然後去localhost:8000它給了我這個錯誤:在Zend Expressive項目樹中找不到鍵「csrf」

[![enter image description here] [1]] [1]

奇怪的部分是,我有一個精確的複製本地工作,但如果其上傳到存儲庫,然後git克隆,並嘗試運行它給出了這個錯誤。我不確定是什麼原因造成的,網上也沒有關於這個錯誤的信息。

我會表現出一定的配置文件,我甚至不知道我應該顯示:

泊塢窗:

version: '3' 

services: 
    php: 
    build: ./docker/php 
    depends_on: 
     - postgres 
     - redis 
    volumes: 
     - .:/var/www/html 

    nginx: 
    image: nginx:1.11 
    depends_on: 
     - php 
    ports: 
     - '8000:80' 
    volumes: 
     - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf 
     - .:/var/www/html 

    postgres: 
    image: postgres:9.6 
    ports: 
     - '5438:5432' 
    volumes: 
     - 'postgres-data:/var/lib/postgresql/data' 
    redis: 
    image: redis:3.2 

    build: 
    build: ./docker/build 
    volumes: 
     - .:/var/www/html 

volumes: 
    application-data: 
    postgres-data: 

作曲:

{ 
    "name": "project/project", 
    "type": "project", 
    "require": { 
     "php": "^7.1", 
     "psr/http-message": "^1.0", 
     "zendframework/zend-servicemanager": "^3.1", 
     "zendframework/zend-config": "^2.6", 
     "zendframework/zend-expressive": "^2.0", 
     "zendframework/zend-expressive-fastroute": "^2.0", 
     "zendframework/zend-expressive-platesrenderer": "^1.3", 
     "zendframework/zend-config-aggregator": "^0.2.0", 
     "psr/log": "^1.0", 
     "zendframework/zend-log": "^2.9", 
     "zendframework/zend-progressbar": "^2.5", 
     "psr/simple-cache": "^1.0", 
     "cache/redis-adapter": "^1.0", 
    }, 
    "autoload": { 
     "psr-4": { 
      "Project\\": "src/" 
     } 
    } 
} 

回答

0

看着錯誤我第一次猜測是你的配置不正確。也許你已經在./config/autoload/local.php文件中設置了本地csrf密鑰?本地配置文件默認被git忽略。

看起來你缺少這樣的事情:

<?php 
return [ 
    'csrf_guard' => [ 
     'csrf' => [ 
      'lifetime' => 3600, 
     ], 
    ], 
]; 

你可以看看這裏的例子配置:https://github.com/DASPRiD/CSRF-Guard/blob/master/doc/example-config.php

+0

嗨,老兄,我有這個配置設置雖然。檢查我更新的問題 – nullwriter

+0

development.config.php僅在啓用開發模式時加載。嘗試'composer development-enable'。如果你想默認啓用這些設置,將它們移動到'config/autoload/csrf-guard.global.php' – xtreamwayz