Depuis quelques temps déjà, j’ai constaté que des messages d’erreur (ou plutôt des avertissements) s’affichaient lorsque je me connectais à PHPMyAdmin.
Dans mon cas, le message affiché était le suivant :
Ce qu’il indique, c’est le fait que le fichier common.inc.php comporte des instructions faisant référence à la fonction PHP get_magic_quotes_gpc() qui est obsolète depuis PHP 7.4.0, et même supprimée à partir de PHP 8.0.0 (https://www.php.net/manual/fr/function.get-magic-quotes-gpc.php)
De ce que j’ai pu observer, mon système ne souffre d’aucun dysfonctionnement. C’est donc un besoin purement esthétique qui m’amène à vouloir résoudre ce problème. Pour y parvenir, voici quelques actions simples et rapides à effectuer :
Identifier la source
Dans mon cas, le fichier faisant référence à la fonction dépréciée est common.inc.php, à partir de la ligne 264. Sur un système Linux/Débian/Ubuntu/Mint, ce fichier peut être trouvé dans le répertoire des fichiers partagés utilisateur de PHPMyAdmin, soit /usr/share/phpmyadmin/libraries.
Ce dossier étant un dossier système, il faudrait l’ouvrir avec avec les privilèges administrateur avec vote éditeur préféré
sudo gedit /usr/share/phpmyadmin/libraries/common.inc.php
Retirer le code responsable
À partir de la ligne 267, vous devriez trouver une instruction semblable à
if (get_magic_quotes_gpc()) {
PMA_arrayWalkRecursive($_GET, 'stripslashes', true);
PMA_arrayWalkRecursive($_POST, 'stripslashes', true);
PMA_arrayWalkRecursive($_COOKIE, 'stripslashes', true);
PMA_arrayWalkRecursive($_REQUEST, 'stripslashes', true);
}
La fonction get_magic_quotes_gpc() étant obsolète et ayant même été retirée des plus récentes versions de PHP, ce bloc de code pourrait être complètement retiré. Dans mon cas, j’ai préféré juste le commenter. Sait-on jamais :-)
/* if (get_magic_quotes_gpc()) { PMA_arrayWalkRecursive($_GET, 'stripslashes', true); PMA_arrayWalkRecursive($_POST, 'stripslashes', true); PMA_arrayWalkRecursive($_COOKIE, 'stripslashes', true); PMA_arrayWalkRecursive($_REQUEST, 'stripslashes', true); } */
Il ne reste plus qu’à sauvegarder le fichier.
Tester
Il n’est pas nécessaire de redémarrer les services web ou son poste de travail pour expérimenter les changements. Vous pourriez le faire par mesure de prudence toutefois. Ensuite, rafraîchissez votre page. L’erreur devrait avoir disparu!
Soka!