web-dev-qa-db-fra.com

Comment activer mysqlnd pour php?

J'ai PHP installé et en marche (version: 5.3.17) et je souhaite passer à mysqlnd (dans phpinfo, mysqlnd n'existe pas du tout).

J'ai lu que pour le configurer, vous devez mettre à jour le ./configure commande:

./configure --with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \

Quand j'ai essayé de l'installer avec yum install php-mysqlnd Je reçois une erreur:

---> Package php-mysqlnd.x86_64 0:5.3.17-1.26.amzn1 will be installed
--> Processing Conflict: php-mysql-5.3.17-1.26.amzn1.x86_64 conflicts php-mysqlnd
--> Finished Dependency Resolution
Error: php-mysql conflicts with php-mysqlnd
44
SimonW

Le ./configure La commande fait partie du processus de compilation à partir du code source.

Vous pouvez compiler à partir des sources ou installer via le gestionnaire de packages. Je suppose que dans votre cas, le gestionnaire de paquets est préférable.

Comme le gestionnaire de paquets se plaint, vous ne pouvez pas avoir les deux php-mysql et php-mysqlnd installée.

Afin que vous puissiez

yum remove php-mysql

avant

yum install php-mysqlnd

Ensuite, vérifiez le succès via

php -m | grep mysqlnd

ou

php -i | grep mysqlnd
51
yum swap php-mysql php-mysqlnd
5
iamarobot

yum install php-mysqlnd n'est disponible que sur CentALT et peut-être avec remi repos. Webtatic a également de bons référents php. Ce n'est pas sur ceux par défaut (j'utilisais CentOS).

3
John61590

Je suis peut-être en retard mais cela pourrait aider les autres. Comme déjà dit ailleurs dans le forum, si un appel à une fonction telle que get_result se plaint d'être indéfinie, alors php-mysqlnd doit être installé (cette question). J'ai réalisé que faire yum install (centos) signalera automatiquement qu'il veut supprimer php-mysql et phpmyadmin; n'acceptez pas cela car votre phpmyadmin peut ne pas fonctionner après. Utilisez plutôt yum Shell, qui prendra les commandes à la fois et gérera les modifications avec élégance; faites-les en ligne de commande:

# yum Shell
> remove  php-mysql
> install php-mysqlnd
> run
> quit

Maintenant, vous devrez peut-être redémarrer les services mariadb (le plus probable) et httpd.

2
Ajowi

A partir de PHP 5.4, la bibliothèque mysqlnd est une compilation php.net par défaut = all PHP extensions MySQL. - Ref: dev.mysql .com

ce serait un peu plus facile à utiliser XAMPP pour Linux 1.8.1 (il est livré avec PHP 5.4.7) puis compilé à partir des sources.

0
000

Je ne sais pas si je vous ai bien compris .... Il suffit de télécharger la source de php (php-5.x.x.tar.gz), de décompresser la source et de passer à ce répertoire, puis

 bash:/dir/of/your/source # ./configure --with-mysql=... and your other config params

après ça suffit de le faire par

 bash:/dir/of/your/source # Sudo make && make install
0
donald123