2017-09-04 83 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