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

2 Comments

  1. ds 22 May 2017
    • ds 22 May 2017

Leave a Reply