Не удалось найти ключ "csrf" в дереве в проекте Zend Expressive

Я получил приложение Zend Expressive, работающее с Docker. Обычно этот проект выполняется, но когда я добавил его в репозиторий bitbucket, а затем git клонировал его, собрал с помощью docker, а затем перешел на localhost:8000, он дал мне эту ошибку:

[! [введите описание изображения здесь][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/"
        }
    }
}

1 ответ

Глядя на ошибку, я думаю, что ваша конфигурация неверна. Может быть, вы установили свой локальный ключ CSRF в ./config/autoload/local.php файл? Локальные конфигурационные файлы по умолчанию игнорируются git.

Похоже, вам не хватает чего-то вроде этого:

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

Вы можете проверить пример конфигурации здесь: https://github.com/DASPRiD/CSRF-Guard/blob/master/doc/example-config.php

Другие вопросы по тегам