Le mode debug de PrestaShop 1.7 fonctionne trop bien. Par dĂ©faut il s’arrĂȘte sur toutes les erreurs, avertissement ou notice, ce qui fait que quand un problĂšme, mĂȘme minime, se trouve en amont de ce que vous voulez corriger, le systĂšme s’arrĂȘte avant la partie qui vous intĂ©resse.

Par exemple avec PHP 7.4, Doctrine utilisĂ© par PrestaShop affiche un Warning : https://github.com/doctrine/DoctrineORMModule/issues/579 ce qui empĂȘche tout dĂ©bogage.

Pour corriger tout cela, il faut dire Ă  Symfony quelles erreurs afficher :

On a 2 fichiers à modifier « classes/controller/FrontController.php » et « admin/index.php » dans les deux cas il faut remplacer

Debug::enable();

par

Debug::enable(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_WARNING);

en adaptant le paramùtre à ce qu’on veut. La documentation est ici : https://www.php.net/error_reporting

Il peut ĂȘtre utile de modifier aussi « config/defines.inc.php » en remplaçant

@error_reporting(E_ALL | E_STRICT);

par

@error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED & ~E_WARNING);