J'avais installé PHP à partir des sources sur PPC64LE avec CentOS. J'avais activé l'extension MySQLi lors de la configuration des options. Pour certaines parties du développement de mon application Web, les fonctions de connexion MySQL ne fonctionnaient pas. J'ai appris que le pilote natif MySQL est l'option de bibliothèque cliente recommandée, car elle améliore les performances et donne accès à des fonctionnalités non disponibles lors de l'utilisation de la bibliothèque cliente MySQL. J'ai donc voulu installer le pilote natif de MySQL car il prend en charge toutes les extensions MySQL (c'est-à-dire MySQL, MySQLi et PDO_MySQL).
Si vous n'avez pas installé l'extension MySQLnd, vous verrez probablement une erreur similaire à celle illustrée ci-dessous :
PHP Fatal error: Uncaught Error: Call to undefined method mysqli_stmt::get_result()
Installer l'extension MySQLnd
Étape 1 :Pour installer le mysqlnd
, accédez à ext/mysqlnd
dans le dossier source PHP.
[root@terra-node-01 mysqlnd]# cd /home/user/php-7.2.30/ext/mysqlnd
Étape 2 : Exécutez phpize
commande
[root@terra-node-01 mysqlnd]# phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718
Remarque : Si vous obtenez l'erreur "configurer :erreur :impossible de trouver les sources (config.m4) ” lors de l'étape 2, suivez notre solution ici.
Étape 3 :Exécuter Configurer
[root@terra-node-01 mysqlnd]# ./configure
Remarque : Si vous obtenez une error :configure :error :Cannot find OpenSSL's
Étape 4 :Exécutez make
[root@terra-node-01 mysqlnd]# make 2>&1 | tee err.log
Étape 5 :Exécutez make install
[root@terra-node-01 mysqlnd]# make install
Étape finale :Pas besoin d'activer ces extensions manuellement dans php.ini. Redémarrez simplement le service apache
[root@terra-node-01 mysqlnd]# systemctl restart httpd