PHP 7.1 auf 7.2 geändert - Kein Login ins Backend - keine Fehlermeldung, leitet nur wieder auf Login

Moin zusammen.

Im Zuge des Updates von 5.5.10 auf 5.6.0 habe ich in unserer Staging-Umgebung die Umstellung von PHP 7.1 auf 7.2 versucht. Das Frontend lässt sich danach noch bedienen, allerdings ist kein Login ins Backend möglich, ein Update auf 5.6.0 hab ich daher noch nicht vorgenommen.

Anfänglich gab es Probleme mit dem CSRF-Token - habe es daher in der config.php erstmal deaktiviert.

The provided CSRF-Token is invalid. If you're sure that the request to path "/backend/Login?file=app&no-cache=1566464531" should be valid, the called controller action needs to be whitelisted using the CSRFWhitelistAware interface. in engine/Shopware/Components/CSRFTokenValidator.php on line 106

Leider kriege ich weder im PHP Error Log, noch an der Oberfläche irgendwelche Fehler, ich werde einfach wieder zurück auf die Backend-Login-Seite geleitet, wenn ich die Daten eingegeben habe.

In der Javascript-Konsole steht auch nix… Habt ihr Ideen, wo ich noch gucken könnte? Alle nicht-default-Plugins habe ich unter PHP 7.1 nochmal testhalber deinstalliert und gelöscht, bringt auch nix.

config.php:

  array (
    'host' => 'localhost',
    'port' => '3306',
    'username' => 'xx',
    'password' => 'xx',
    'dbname' => 'xx',
  ),
'csrfProtection' => [
    'frontend' => false,
    'backend' => false
],
//Zeige Low-Level PHP-Fehler
'phpsettings' => [
    'display_errors' => 1,
],
// Template-Cache
'template' => [
    'forceCompile' => true,
],
// Backend-Cache
'cache' => [
    'backend' => 'Black-Hole',
    'backendOptions' => [],
    'frontendOptions' => [
        'write_control' => false
    ],
],
// Http-Cache
'httpCache' => [
    'enabled' => true, // true or false
    'debug' => true,
],
 
);

in der .htaccess hab ich das PHP Error-Log von All-Inkl aktiviert:

php_flag log_errors on
php_value error_log "/www/htdocs/xx/testing_sware_xx/log/error_log.txt"

Bin relativ ratlos…

Danke schonmal.

Keiner ne Idee? :frowning:

Ohne Fehlermeldung kann man leider nur Stochern. Vielleicht mal CSRF-Token wieder aktivieren und mal gucken was da zurück kommt (weil scheinbar ist es ja nicht das Token).

Könnte vielleicht mod_rewrite für PHP 7.2 noch deaktiviert?

Danke für deine Antwort. In einem anderen Testshop hat das Umschalten auf PHP 7.2 geklappt - denke also mal nicht, dass es am Hoster liegt - liegt beides im selben All-Inkl Account. Hab CSRF mal wieder aktiviert:

Ups! Ein Fehler ist aufgetreten!

Die nachfolgenden Hinweise sollten Ihnen weiterhelfen.

The provided CSRF-Token is invalid. If you're sure that the request to path "/backend/Login?file=app&no-cache=1566914016" should be valid, the called controller action needs to be whitelisted using the CSRFWhitelistAware interface. in engine/Shopware/Components/CSRFTokenValidator.php on line 106
Stack trace:

#0 engine/Library/Enlight/Event/Handler/Default.php(91): Shopware\Components\CSRFTokenValidator->checkBackendTokenValidation(Object(Enlight_Controller_ActionEventArgs))
#1 engine/Library/Enlight/Event/EventManager.php(219): Enlight_Event_Handler_Default->execute(Object(Enlight_Controller_ActionEventArgs))
#2 engine/Library/Enlight/Controller/Action.php(175): Enlight_Event_EventManager->notify('Enlight_Control...', Object(Enlight_Controller_ActionEventArgs))
#3 engine/Library/Enlight/Controller/Dispatcher/Default.php(563): Enlight_Controller_Action->dispatch('indexAction')
#4 engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp))
#5 engine/Shopware/Kernel.php(202): Enlight_Controller_Front->dispatch()
#6 vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(102): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#7 vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Object(Shopware\Kernel), Object(Symfony\Component\HttpFoundation\Request), 1, true)
#8 engine/Shopware/Components/HttpCache/AppCache.php(260): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL)
#9 vendor/symfony/http-kernel/HttpCache/HttpCache.php(238): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true)
#10 engine/Shopware/Components/HttpCache/AppCache.php(105): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true)
#11 shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))
#12 {main}

 

Bin immer noch verdammt ratlos… Wäre für jegliche Denkansätze, wo ich noch stochern könnte, dankbar.

Bist Du sicher dass die config.php die Du oben gepostet hast aktiv ist? Dort ist der CSRF-Schutz deaktiviert, aber dennoch scheint es genau dieser Schutz zu sein der das Login verhindert.

Testumgebung im Unterordner? Probiere mal das Backend des Stagings im Inkognito Modus deines Browsers aufzurufen. Manchmal beißt sich der CSRF Token deiner Live Umgebung mit dem des Stagings.

@hsoebbing Hab das auf Wunsch von Dir ja wieder aktiviert :wink: Damit da mal eine Meldung rauskommt.

Siehe deine Antwort weiter oben

@AndreHerking Bringt leider nix… Wie im Ursprungspost schon anklang, hatte ich das CSRF-Validieren auch ausgeschaltet, dann scheitert der Backend-Login ohne eine Fehlermeldung…

Wäre für jegliche Hilfe oder Tipps dankbar…

Gelöst.

https://forum.shopware.com/discussion/62853/nach-php-update-fehler-400#latest

-> PHP Timeout unter Einstellungen > System > Backend auf 2 Stunden gesetzt

Ggf. auch einmal, falls installiert, das  Shopware Security Plugin neu installieren. Das hat bei uns den Fehler verursacht.