Press "Enter" to skip to content

PrestaShop 1.7.2.4 i błąd przy zalogowaniu do panelu zarządzania sklepem: Declaration of AdminDashboardControllerCore::setMedia() must be compatible …

Admin 1

Podczas próby zalogowania do panelu zarządzania widzimy białą stronę, jednak gdy włączymy pokazywanie błędów w pliku:

config/defines.inc.php

Pojawia się błąd:

Fatal error: Declaration of AdminDashboardControllerCore::setMedia() must 
be compatible with AdminControllerCore::setMedia($isNewTheme = false) 
in /var/www/controllers/admin/AdminDashboardController.php on line 539

Fatal error: Uncaught Symfony\Component\Debug\Exception\FatalErrorException:
Compile Error: Declaration of AdminDashboardControllerCore::setMedia() 
must be compatible with AdminControllerCore::setMedia($isNewTheme = false) 
in /var/www/controllers/admin/AdminDashboardController.php:539 Stack 
trace: #0 {main} Next LogicException: Request stack is empty in 
/var/www/app/bootstrap.php.cache:3224 Stack trace: #0 [internal function]: 
Symfony\Component\HttpKernel\HttpKernel->terminateWithException(Object(Symfony\Component\Debug\Exception\FatalErrorException)) #1 
/var/www/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php(606): 
call_user_func(Array, Object(Symfony\Component\Debug\Exception\FatalErrorException)) 
#2 /var/www/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php(668): 
Symfony\Component\Debug\ErrorHandler->handleException in /var/www/app/bootstrap.php.cache on line 3224

Metoda #1 rozwiązania problemu

Wersja, która powoduje błąd to:

PHP Version 7.2.13

I prawdopodobnie też starsza.

Jaką masz wersje sprawdzisz w prosty sposób. Wgraj plik o nazwie p.php o zawartości:

<?php phpinfo(); ?>

do folderu głównego.

UWAGA! Po naprawie błędu koniecznie usuń ten plik. Ujawnia on bardzo dużo wrażliwych danych z Twojego serwera!

Aby naprawić błąd obniż wersję serwera. W naszym przypadku wystraczyło przestawić ją na wersję:

PHP Version 7.1.20

Metoda #2 rozwiązania problemu

Należy odp. zmienić pliki PHP aby ten błąd nie blokował możliwości zalogowania.

UWAGA! Przed wykonaniem zmian w plikach wykonaj ich kopię zapasową.

W pliku:

controllers/admin/AdminLoginController.php

Zmień kod:

public function setMedia()

na:

public function setMedia($isNewTheme = false)

Następnie:

public function viewAccess()

na:

public function viewAccess($disable = false)

W następnym pliku:

controllers/admin/AdminDashboardController.php

Zamień:

public function setMedia()
   {
       parent::setMedia();

na:

public function setMedia($isNewTheme = false)
  {
      parent::setMedia($isNewTheme);

Powinno to pomóc:)

 

  1. W wersji Prestashop 1.7.2.4 opcja zmiany w plikach zadziałała. Problem pojawił się na stronie sklepu oraz na stronie Logowania do Panelu.

    Brawo dla autora !

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Dziś przedstawimy jak zainstalować i skonfigurować moduł DotPay w PrestaShop…