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
移除php-mysql后还是出错耶
–> Finished Dependency Resolution
Error: php56-pdo conflicts with php-pdo-5.3.29-1.8.amzn1.x86_64
Error: php56-common conflicts with php-common-5.3.29-1.8.amzn1.x86_64
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
会不会跟phpmyadmin有关
可能还会用到libmysql