Closed akroii closed 5 years ago
Im Forum ist angegeben, dass symfony/symfony
in Version 3.4.12 installiert ist. Bitte vergleiche deine lokale Datei /Applications/MAMP/htdocs/buschner/vendor/symfony/symfony/src/Symfony/Component/Yaml/Parser.php mit folgender: https://github.com/symfony/symfony/blob/v3.4.12/src/Symfony/Component/Yaml/Parser.php. Im speziellen die Zeile 64.
Habe beide Datein miteinander verglichen, sind beide 100% identisch.
Wenn die beiden Dateien identisch sind bedeutet das, dass die Klasse Symfony\Component\Yaml\Parser
aus einer anderen Datei geladen wird.
Existiert eventuell die Datei app/bootstrap.php.cache oder var/bootstrap.php.cache in deiner Installation?
Nein, eine solche Datei existiert nicht.
Ich stolpere in einer Installation auch öfter über diese Meldung. Meistens nach einem Composer-Update. Wenn ich dann den Cache noch einmal per rm -rf /var/cache/* leere geht es wieder. Die Parser.php ist bei mir ebenfalls identisch mit der von Github. Auch die beiden bootstrap.php.cache Dateien existieren nicht.
Wenn ich versuche lokal in den app_dev.php-Modus zu gelangen erscheint folgende Meldung:
Wenn ich mit der Maus darüber gehe erscheint:
/Applications/MAMP/htdocs/xxxx/vendor/contao/manager-plugin/src/Bundle/Parser/DelegatingParser.php line 22
Die oben erwähnte Änderung in der Datei YamlFileLoader.php
auf der Zeile 48 habe ich die Kommentierung wieder entfernt.
UPDATE: Hatte versehentlich die PHP Version auf 5.6 eingestellt.
Check with composer show contao/manager-plugin
which version is installed. It appears you are only using PHP 5.6, yet the contao/manager-plugin is installed in version 2.3.x or higher, which is not compatible with PHP 5.6. Make sure you are using the correct PHP version for your webspace during composer operations - or define the correct PHP version of your webspace in your composer.json.
Ich habe noch nicht erwähnt, dass die Seite bei Strato liegt.
UPDATE: Hatte versehentlich die PHP Version auf 5.6 eingestellt.
Dann bitte das Ticket schliessen.
Nein, das Problem besteht weiterhin. Die obere Nachricht im app_dev-Modus war nicht ganz glücklich gesetzt.
Kannst du in deiner Installation bitte nach allen Dateien suchen die sowohl
namespace Symfony\Component\Yaml;
als auch class Parser
enthalten?
Bekommst du nach wie vor die Fehlermeldung Attempted to call an undefined method named "parseFile"…
beim Backend-Login?
namespace Symfony\Component\Yaml;
class Parser
Ja, der Fehler tritt weiterhin auf. Meistens tritt dieser Fehler auf wenn ich das Contao-Backend-Root /contao
aufrufe. Wenn ich dagegen/contao/main.php?do=isotope
aufrufe geht es wieder. Klicke ich aber auf das Contao Logo im Backend (links oben), erscheint der Fehler.
Ich konnte das Problem in einer Installation auch nachvollziehen. Hier liegt es an einer Erweiterung, ctscto35, die selbst symfony/yaml mitbringt. Da die Erweiterung manuell installiert ist, bitte checkt doch mal in euren Installationen, ob unter system/modules diese auch existiert. Scheint eine Erweiterung von einem Theme-Hersteller zu sein.
@akroii Bei dir ist es ctscore, das auch das gleiche Problem hat.
Klingt also nach einem Problem des Theme-Herstellers. Daher sollte deren Support das Problem lösen. Vielleicht kann @es-IT weiterhelfen, der als Autor in den Modulen genannt wird.
@akroii bitte wieder die composer.lock
aus dem Ticket entfernen 😁
Or better hide it with a collapsible block 😉 https://github.com/dear-github/dear-github/issues/166#issuecomment-236342209
@dmolineus Danke für den Hinweis. Wir sind dran.
Ich denke das Ticket kann geschlossen werden. Der Fehler liegt an der doppelten Installation der Yaml-Komponente unter system/modules/ctscore/vendor/symfony/yaml und vendor/symfony/symfony und hängt somit nicht mit dem core-bundle zusammen.
Die doppelten Symfony-Komponenten sind bei uns entfernt. Hatte wohl auch nichts mit Contao zu tun. Leider ist der Fehler bei uns nicht reproduzierbar, so dass eine abschließenden Beurteilung schwer ist.
Ich denke der Fehler ist nicht eindeutig reproduzierbar, weil man nicht vorhersehen kann, was vom Autoloader zuerst geladen wird.
Seitdem ich das Contao von einem Arbeitsplatz auf einen anderen Umgezogen habe erhalte ich einen Fehler beim einloggen im Backend: Internal Server Error
Attempted to call an undefined method named "parseFile" of class "Symfony\Component\Yaml\Parser".
Wenn ich in der Datei: /Applications/MAMP/htdocs/buschner/vendor/symfony/symfony/src/Symfony/Component/Translation/Loader/YamlFileLoader.php die besagte Zeile 48 auskommentiere, dann funktioniert alles wieder.
Mehr Infos unter: https://community.contao.org/de/showthread.php?71445-Attempted-to-call-an-undefined-method-named-quot-parseFile-quot&p=478443#post478443