Problématique
Lorsque vous mettez Ă jour votre site WordPress sous PHP 7, les erreurs suivantes peut apparaĂźtre :
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in ...wp-includes/wp-db.php:1665
Stack trace: #0 ...wp-includes/wp-db.php(632): wpdb->db_connect() #1 ...wp-includes/load.php(425)
Fatal error: Uncaught Error: Call to undefined function wp_kses_normalize_entities() in .../wp-includes/formatting.php:4316
Stack trace: #0 .../wp-includes/class-wp-fatal-error-handler.php(190)
D'oĂč provient cette erreur ?
En passant Ă PHP 7.3 (ou plutĂŽt Ă partir de PHP 7.0.0), l’extension mysql_connect a Ă©tĂ© supprimĂ©e. Celle-ci Ă©tait dĂ©jĂ dĂ©prĂ©ciĂ©e depuis PHP 5.5.0.
Il est conseillĂ© Ă la place d’utiliser les extensions mysqli afin de se connecter Ă une base de donnĂ©es. Cette extension est plus performante et plus sĂ©curisĂ©e.
Que faire pour résoudre ce problÚme ?
Selon l’origine de l’erreur, plusieurs pistes de solutions sont Ă envisager :
- Contactez votre hébergeur et lui demander si les extensions mysqli sont activées
- VĂ©rifiez que vous avez mysqi d’activĂ©e sur votre hĂ©bergement :
$var_mysqli = function_exists('mysqli_connect'); var_dump($var_mysqli);
- Testez votre connexion avec mysqli :
$mysqli_connection = new MySQLi('nom_d_hÎte', 'nom_utilisateur', 'mot_de_passe', 'nom_de_la_base_de_données');
- Consultez votre fichier wp-config.php et vérifiez que la variable suivante :
define(âWP_USE_EXT_MYSQLâ, false);
soit bien dĂ©finie sur “false”