web-dev-qa-db-fra.com

Impossible d'installer php-mysqli sur PHP7

J'ai installé PHP 7, mysql5.7, Apache2.2, CentOS6.

Et j'installe CodeIgniter3.0.6.

Lorsque j'utilise la connexion à la base de données, une erreur s'est produite et a dit

A PHP Error was encountered

Severity: Core Warning

Message: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/php_mysqli.so' - /usr/lib64/php/modules/php_mysqli.so: cannot open shared object file: No such file or directory

Filename: Unknown

Line Number: 0

Bien sûr, il n'y a pas de fichiers dans '/usr/lib64/php/modules/php_mysqli.so', mais je ne sais pas comment installer mysqli.so.

J'ai essayé

yum install php-mysql

mais

Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * remi-safe: mirror.awanti.com
 * updates: ftp.iij.ad.jp
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.x86_64 0:5.3.3-46.el6_7.1 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-46.el6_7.1 for package: php-mysql-5.3.3-46.el6_7.1.x86_64
--> Finished Dependency Resolution
Error: Package: php-mysql-5.3.3-46.el6_7.1.x86_64 (updates)
           Requires: php-common(x86-64) = 5.3.3-46.el6_7.1
           Installed: php-common-7.0.4-1.el6.remi.x86_64 (@remi-php70)
               php-common(x86-64) = 7.0.4-1.el6.remi
           Available: php-common-5.3.3-40.el6_6.x86_64 (base)
               php-common(x86-64) = 5.3.3-40.el6_6
           Available: php-common-5.3.3-46.el6_6.x86_64 (updates)
               php-common(x86-64) = 5.3.3-46.el6_6
           Available: php-common-5.3.3-46.el6_7.1.x86_64 (updates)
               php-common(x86-64) = 5.3.3-46.el6_7.1
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

et ça n'a pas marché.


quand j'exécute yum install php7.0-mysql ou yum install php70w-mysql commande,

Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: ftp.riken.jp
 * extras: ftp.iij.ad.jp
 * remi-safe: mirror.awanti.com
 * updates: ftp.iij.ad.jp
No package php7.0-mysql available.
Error: Nothing to do

Je ne sais pas quoi faire du tout.

11
Ryochan

Veuillez noter que l'extension mysql est obsolète et n'existe plus avec PHP 7.

Le package php-mysqlnd fournit uniquement les extensions mysqli et pdo_mysql .

Le php-pecl-mysql est également disponible, construit à partir d'un instantané git, fourni pour la compatibilité des applications héritées, mais n'est pas pris en charge.

De la question d'origine:

Installé: php-common-7.0.4-1.el6.remi.x86_64 (@ remi-php70)

Vous avez installé php 7.0.4 à partir de remi-php70 , mais le référentiel n'est pas activé. Vous devez l'activer, donc yum trouvera le bon package correspondant à la version installée.

À partir des instructions Assistant de configuration :

yum install yum-utils
yum-config-manager --enable remi-php70
yum install php-mysqlnd

Remarque: la commande correcte pour installer une extension "foo" est yum install php-foo, donc "yum install php-mysql" installera le paquet qui fournit l'extension mysql (donc php-pecl -mysql), "yum install php-mysqli" installera les paquets qui fournissent l'extension mysqli (donc php-mysqlnd).

7
Remi Collet

Pour PHP7, sur CentOS/ RHEL :

yum install php70w-mysql

si vous utilisez le référentiel Remi

yum install php70-php-mysqlnd

pour bunt:

apt-get install php7.0-mysql
12
Federkun