Hallo liebe Community,
ich habe ein Contao 4.4.20 mit php 7.1.8
Seitdem ich das Contao von einem Arbeitsplatz auf einen anderen Umgezogen habe erhalte ich einen Fehler beim einloggen im Backend:
Internal Server Error
Was ist das Problem?
Attempted to call an undefined method named "parseFile" of class "Symfony\Component\Yaml\Parser".
Was läuft hier schief?
Sieht so aus als ob ihm hier eine Klasse fehlt?
Der Error.log sagt:
Code:
[2018-07-25 18:40:41] request.INFO: Matched route "contao_backend". {"route":"contao_backend","route_parameters":{"_scope":"backend","_token_check":true,"_controller":"Contao\\CoreBundle\\Controller\\BackendController::mainAction","_route":"contao_backend"},"request_uri":"http://buschner.local:8888/contao","method":"HEAD"} []
[2018-07-25 18:40:41] security.INFO: Attempting SimplePreAuthentication. {"key":"backend","authenticator":"Contao\\CoreBundle\\Security\\ContaoAuthenticator"} []
[2018-07-25 18:40:41] request.INFO: Matched route "contao_backend". {"route":"contao_backend","route_parameters":{"_scope":"backend","_token_check":true,"_controller":"Contao\\CoreBundle\\Controller\\BackendController::mainAction","_route":"contao_backend"},"request_uri":"http://buschner.local:8888/contao","method":"GET"} []
[2018-07-25 18:40:41] security.INFO: Attempting SimplePreAuthentication. {"key":"backend","authenticator":"Contao\\CoreBundle\\Security\\ContaoAuthenticator"} []
[2018-07-25 18:40:41] app.CRITICAL: An exception occurred. {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\UndefinedMethodException(code: 0): Attempted to call an undefined method named \"parseFile\" of class \"Symfony\\Component\\Yaml\\Parser\". at /Applications/MAMP/htdocs/buschner/vendor/symfony/symfony/src/Symfony/Component/Translation/Loader/YamlFileLoader.php:48)"} []
Update:
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.
HTML-Code:
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Translation\Loader;
use Symfony\Component\Translation\Exception\InvalidResourceException;
use Symfony\Component\Translation\Exception\LogicException;
use Symfony\Component\Yaml\Parser as YamlParser;
use Symfony\Component\Yaml\Exception\ParseException;
/**
* YamlFileLoader loads translations from Yaml files.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class YamlFileLoader extends FileLoader
{
private $yamlParser;
/**
* {@inheritdoc}
*/
protected function loadResource($resource)
{
if (null === $this->yamlParser) {
if (!class_exists('Symfony\Component\Yaml\Parser')) {
throw new LogicException('Loading translations from the YAML format requires the Symfony Yaml component.');
}
$this->yamlParser = new YamlParser();
}
$prevErrorHandler = set_error_handler(function ($level, $message, $script, $line) use ($resource, &$prevErrorHandler) {
$message = E_USER_DEPRECATED === $level ? preg_replace('/ on line \d+/', ' in "'.$resource.'"$0', $message) : $message;
return $prevErrorHandler ? $prevErrorHandler($level, $message, $script, $line) : false;
});
try {
#$messages = $this->yamlParser->parseFile($resource); <!---------------- hier
} catch (ParseException $e) {
throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s"', $resource), 0, $e);
} finally {
restore_error_handler();
}
return $messages;
}
}
Lesezeichen