Prestashop con PHP 7.2
Anuncio:
Modificaciones en Prestashop con PHP 7.2. Recientemente he tenido que montar un Prestashop 1.7.4.2 en un servidor con PHP 7.2 y he encontrado errores del tipo:
PHP Fatal error: Declaration of AdminDashboardControllerCore::setMedia() must be compatible with AdminControllerCore::setMedia($isNewTheme = false) in ...
Esto es debido a un problema de incompatibilidad de Prestashop 1.7 con la nueva versión de PHP 7.2. También he visto que sucede con algunas versiones de PHP 7.1.
Vamos a ver cómo arreglar estos problemas de Prestashop para que funcione con PHP 7.2.
En primer lugar, vamos a buscar los controladores:
controllers/admin/AdminDashboardController.php
controllers/admin/AdminOrdersController.php
Aquí buscamos el método setMedia y lo vamos a modificar agregando el valor por defecto del parámetro $isNewTheme de modo que quede así:
public function setMedia($isNewTheme = false) {
parent::setMedia();
}
Localizamos ahora los archivos:
controllers/admin/AdminLegacyLayoutController.php
controllers/admin/AdminLoginController.php
Y tenemos que modificar los métodos setMedia y viewAccess, quedando así:
public function setMedia($isNewTheme = false) {
parent::setMedia(true);
}
public function viewAccess($disable = false) {
return true;
}
Vamos a corregir un último error. Concretamente este:
Declaration of AdminEmailsControllerCore::setMedia() must be compatible with AdminControllerCore::setMedia($isNewTheme = false) in /var/www/html/muthequip.com/controllers/admin/AdminEmailsController.php
Para ello, vamos a modificar el controlador controllers/admin/AdminEmailsController.php. Aquí vamos a buscar él método setMedia quedando así:
public function setMedia($isNewTheme = false)
{
parent::setMedia($isNewTheme);
.......
.......
}
Modificando estos 5 controladores, me ha funcionado correctamente Prestashop con PHP 7.2.
Puedes aprender más en nuestra sección de Prestashop.
Espero que te haya sido de utilidad.
2 comentarios
Hola,
Con tus indicaciones me ha funcionado el administrador del Prestashop después de actualizar la versión PHP a 7.2.
Después me han aparecido ventanas con «warning» pero parece que va bien.
Muchas gracias.
Genial 🙂