无法在PHP7上安装php-mysqli [英] Unable to install php-mysqli on PHP7

查看:386
本文介绍了无法在PHP7上安装php-mysqli的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经安装了PHP 7,mysql5.7,Apache2.2,CentOS6。

I have installed PHP 7, mysql5.7, Apache2.2, CentOS6.

我正在安装CodeIgniter3.0.6。

And I'm installing CodeIgniter3.0.6.

当我使用数据库连接时,发生
错误并说

When I use database connection, error occured and said

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

'/ usr / lib64 / php / modules / php_mysqli.so'中当然没有文件,但是我不知道

Of course there are no files in '/usr/lib64/php/modules/php_mysqli.so', but I don't know how to install mysqli.so.

我尝试过

yum install php-mysql

但是

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

当我执行 yum install php7.0-mysql yum install php70w-mysql 命令,

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

我根本不知道该怎么做。

I don't know what to do at all.

推荐答案

请注意 mysql 扩展名已已弃用并且在PHP 7中不再存在。

Please remind that the mysql extension is deprecated and doesn't exists anymore with PHP 7.

php-mysqlnd 包仅提供 mysqli pdo_mysql 扩展。

php-pecl-mysql 也可用,构建来自git快照,提供了与旧应用程序的兼容性,但不受支持。

The php-pecl-mysql is also available, build from a git snapshot, provided for compatibility for legacy applications, but is not supported.

来自原始问题:

已安装:php-common-7.0.4-1.el6.remi.x86_64(@ remi-php70)

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

您已经从 remi-php70 安装了php 7.0.4,但是未启用存储库。您需要启用它,以便yum会找到与安装版本匹配的正确软件包。

You have php 7.0.4 installed from remi-php70, but the repository is not enabled. You need to enabled it, so yum will find the right package matching the installed version.

来自配置向导说明:

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

注意:安装 foo扩展名的正确命令是yum install php-foo,因此 yum install php-mysql将安装提供 mysql 扩展名的软件包(因此php-pecl-mysql) , yum install php-mysqli将安装提供 mysqli 扩展名(即php-mysqlnd)的软件包。

Notice: the correct command to install an "foo" extension is yum install php-foo, so "yum install php-mysql" will install the package which provides the mysql extension (so php-pecl-mysql), "yum install php-mysqli" will install the packages which provides the mysqli extension (so php-mysqlnd).

这篇关于无法在PHP7上安装php-mysqli的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆