fbpx

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 :

Deprecation Notice in ./libraries/common.inc.php#267
Function get_magic_quotes_gpc() is deprecated

Backtrace

./index.php#12: require_once(./libraries/common.inc.php)

Installation Locale de PHPMyAdmin sous une Distribution Linux Debian

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!