一尘不染

如何知道MySQLnd是否是活动驱动程序?

mysql

也许这是一个显而易见的问题,但我想确定。

我怎么知道MySQLnd是否是活动驱动程序?

我正在运行PHP 5.3和MySQL
5.1.37。在phpinfo()中,列出了mysqlnd,但是仅凭此我不确定我是使用MySQLnd还是旧驱动程序…

提取phpinfo()输出

mysql
MySQL Support   enabled
Active Persistent Links     0
Active Links    0
Client API version  mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $

mysqli
MysqlI Support  enabled
Client API library version  mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $
Active Persistent Links     0
Inactive Persistent Links   0
Active Links    26

mysqlnd
mysqlnd enabled
Version     mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $

PDO
PDO support enabled
PDO drivers     mysql

pdo_mysql
PDO Driver for MySQL    enabled
Client API version  mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $

我正在使用PDO,并且PDO驱动程序显示mysql …


阅读 219

收藏
2020-05-17

共1个答案

一尘不染

这应该可以解决问题:

<?php
$mysqlnd = function_exists('mysqli_fetch_all');

if ($mysqlnd) {
    echo 'mysqlnd enabled!';
}

要检测其是否为活动的PDO驱动程序,请创建您的MySQL PDO对象,然后:

if (strpos($pdo->getAttribute(PDO::ATTR_CLIENT_VERSION), 'mysqlnd') !== false) {
    echo 'PDO MySQLnd enabled!';
}
2020-05-17