2017-12-03 2 views
2

Ich habe ein sehr einfaches Symfony (3.4) Projekt erstellt, mit nur einer API, die einen statischen JSON ausgibt.Symfony - Doppelte Klassendefinition im Cache

, wenn ich das api zum ersten Mal laufe alles funktioniert gut, aber aus zweiten Mal bekam ich diese Fehlermeldung:

(1/1) FatalErrorException 
Compile Error: Cannot redeclare class Symfony\Bundle\FrameworkBundle\Controller\ControllerNameParser 
in ControllerNameParser.php (line 24) 

Aus diesem Grunde innerhalb cache/{env}/classes.php diese Klasse neu definiert wurde. In der Tat, Clearing-Cache-api zu arbeiten, aber wieder nur zum ersten Mal.

Wie kann ich das Problem lösen? Ich denke, könnte etwas composer.json automatischen Laden bezogen, hier die Snip

"autoload": { 
    "psr-4": { 
     "AppBundle\\": "src/AppBundle", 
     "MyCompany\\TypeBundle\\": "src/MyCompany/TypeBundle" 
    }, 
    "classmap": [ 
     "app/AppKernel.php", 
     "app/AppCache.php" 
    ] 
}, 

Vielen Dank im Voraus

+0

Können Sie die Lösungen ausprobieren, die unter https://github.com/symfony/symfony/issues/25334 veröffentlicht wurden, und entfernen Sie sowohl das Include von bootstrap.php.cache als auch das Laden eines Klassencaches aus Ihrer App? Dies ist veraltetes Verhalten in Sf 3.4 gemäß https://symfony.com/blog/new-in-symfony-3-3-deprecated-the-classloader-component, und Ihre App sollte noch funktionieren –

Antwort

3

Ich hatte das gleiche Problem. und wie ich sehe, das Team von Symfony ist das beheben.

versuchen, dies zu tun:.... Von 3,4 in composer.json Änderungsversion * 3,3 * und Komponist Update symfony/symfony als 3,3 ändern * 3,4 * zurück und Komponist Update symfony/symfony

für mich behebt es das Problem. Versuchen.