2017-09-04 11 views
0

J'ai une application Zend Expressive fonctionnant avec Docker. Normalement, ce projet s'exécute, mais quand je l'ai ajouté à un dépôt bitbucket, puis git cloné, construit avec docker, puis est allé à localhost: 8000, il m'a donné cette erreur:Impossible de trouver la clé "csrf" dans l'arborescence du projet Zend Expressive

[! [Entrez image description ici] [1]] [1]

La partie étrange est que j'ai une copie exacte localement qui fonctionne, mais si elle est téléchargée dans un dépôt, alors git cloné, et essaie de l'exécuter donne cette erreur. Je ne suis pas sûr de quelle partie est à l'origine, il n'y a également aucune information en ligne sur cette erreur.

Je vais montrer quelques fichiers de configuration que je ne suis même pas sûr de ce que je montrerai:

Docker:

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: 

Compositeur:

{ 
    "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/" 
     } 
    } 
} 

Répondre

0

Regarder l'erreur ma première estimation est votre configuration n'est pas correcte. Peut-être avez-vous défini votre clé csrf locale dans un fichier ./config/autoload/local.php? Les fichiers de configuration locaux sont ignorés par git par défaut.

On dirait que vous manque quelque chose comme ceci:

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

Vous pouvez vérifier une configuration par exemple ici: https://github.com/DASPRiD/CSRF-Guard/blob/master/doc/example-config.php

+0

Hey man, j'ai cette configuration mis en place bien. Vérifiez ma question mise à jour – nullwriter

+0

development.config.php est seulement chargé lorsque le mode développement est activé. Essayez 'development-enable 'pour composer. Si vous voulez que ces paramètres soient activés par défaut, déplacez-les dans quelque chose comme 'config/autoload/csrf-guard.global.php' – xtreamwayz