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);