Depuis quelques jours, un bug se déclenche sur de nombreux sites Prestashop rendant l’accès à la page de connexion du back-office impossible.
L’activation du mode debug peut déclencher l’affichage de 2 erreurs que j’ai pu constater jusqu’à présent :
- Fatal error: Class ‘AdminLoginController’ not found in /classes/controller/Controller.php on line 135
- Fatal error: Class ‘PrestaShopAutoload’ not found in /config/autoload.php on line 31
L’élément qui déclenche ces erreurs vient tout simplement du fait que le contenu d’un fichier PHP ai été intégralement vidé.
Au sujet de la première erreur, si vous analysez le contenu du dossier /controllers/admin/ vous constaterez que le fichier AdminLoginController.php pèse 0 ko, son contenu a été vidé. Il est donc nécessaire de télécharger l’archive d’origine de la même version Prestashop que celle qu’utilise votre site et de remettre en place ce fichier pour corriger le problème.
Pour ce qui est de la 2ème erreur, si vous analysez le contenu du dossier /classes/ vous constaterez que le fichier PrestaShopAutoload.php pèse 0 ko, son contenu a été vidé. Il est donc nécessaire de suivre la même opération que pour la première erreur en téléchargeant l’archive d’origine de la même version Prestashop que celle qu’utilise votre site et de remettre en place ce fichier.
L’origine du problème m’est encore inconnue à l’heure ou j’écris ces lignes mais je vais m’intéresser à l’observation des logs serveurs sur les machines auxquelles j’ai accès afin d’essayer d’en savoir plus sur ces erreurs qui se déclenchent sur plusieurs sites depuis très peu de temps.
Complément d’information – 14/12/2016
Pour éviter que le contenu du fichier soit à nouveau vidé, j’ai modifié les droits du fichier depuis une connexion FTP afin de retirer tous les droits en écriture, pour l’instant le correctif tient en place.