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