Linux 技术手札

PHP 使用 mysqlnd 取代 libmysql

libmysql 是 PHP 沿用已久的 MySQL driver, 而在 PHP 5.3 开始, PHP 内建了 PHP 专用连接 MySQL 的 Driver — mysqlnd, 而从 PHP 5.4 之后的版本, mysqlnd 更被 PHP 作为默认安装选项。

如果在 RHEL / CentOS 下要安装 mysqlnd, 可以用 yum 指令完成, 但由于 php-mysqlnd (mysqlnd) 与 php-mysql (libmysql) 不能共存, 所以安装前要先移除 php-mysql.

当系统已经安装了 php-mysql, 安装 php-mysqlnd 时会出现以下报错:

–> Running transaction check
—> Package php-mysqlnd.x86_64 0:5.4.16-42.el7 will be installed
–> Processing Conflict: php-mysql-5.4.16-42.el7.x86_64 conflicts php-mysqlnd
–> Finished Dependency Resolution
Error: php-mysql conflicts with php-mysqlnd-5.4.16-42.el7.x86_64

所以如果系统原来安装了 php-mysql, 要改用 php-mysqlnd, 要先移除 php-mysql:

# yum remove php-mysql

移除了 php-mysql 后, 便可以正常安装 php-mysqlnd:

# yum install php-mysqlnd
Exit mobile version