mariadb 使用啥 PDO 驱动程序?

Posted

技术标签:

【中文标题】mariadb 使用啥 PDO 驱动程序?【英文标题】:What PDO driver to use with mariadb?mariadb 使用什么 PDO 驱动程序? 【发布时间】:2014-01-20 19:57:14 【问题描述】:

用mariadb替换mysql后,遇到如下错误:

php 致命错误:带有消息的未捕获异常“PDOException” 在 /var/www/inlcude/config.php:5\nStack 中“找不到驱动程序” 跟踪:\n#0 /var/www/inlcude/config.php(5): PDO->__construct('mysql:dbname=my...', 'apache', 'ABCDE...')\n#1 /var/www/html/index(21): 要求('/var/www/inlcude/con...')\n#2 main\n 在第 5 行的 /var/www/inlcude/config.php 中抛出

我已经阅读了以下两个相关的问题,但在那里找不到答案:PDO and MariaDBPDOException “could not find driver”

yum list pdo_mysqlyum list php5-mysqlyum list php5-mariadb 均不返回匹配包。要在 Fedora 20(红帽)上使用的 mariadb 的 PDO 驱动程序的名称是什么?

补充一句,php-pdo 已经安装好了。

【问题讨论】:

【参考方案1】:

经过反复试验,原来我需要安装mysqlnd才能获得PDO驱动。

yum install php-mysqlnd

不要问我为什么或如何工作,因为我完全不知道。

【讨论】:

MariaDB 应该是 MySQL 的二进制兼容分支。你不会找到它的特定驱动程序,但 MySQL 应该可以工作。 谢谢,我正在使用更新的 PHP 包寻找我需要的 MySQL 的 PDO 驱动程序,php56u-mysqlnd 正是我需要的【参考方案2】:

MarriaDB 是 mysql 的一个分支。要为其安装 PDO 驱动程序,请安装 php-pdo 和 php-mysql 包

wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

在此之后,您可以从 remi 存储库安装 pdo 和 mysql

yum --enablerepo=remi install php-pdo
yum --enablerepo=remi install php-mysql

【讨论】:

以上是关于mariadb 使用啥 PDO 驱动程序?的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP7 在 MariaDB 中的 MySQLi 和 PDO

CentOS8 安装部署Apache+Php+MariaDB(pdo扩展)

使用带有 --ssl 的 PHP PDO 连接到 MySQL/MariaDB,无需证书

mariadb是啥意思

php pdo 参数绑定

php中的Mysqlnd、PDO和PDO_Mysql扩展有啥区别?