如何确定PHP中是否启用了PDO?

时间:2011-05-24 15:56:53

标签: php pdo

我是否可以使用PHP命令来确定PDO是启用还是禁用?

我知道我手动运行phpinfo()并注视它,但我有一个脚本,我运行各种Web服务器,显示服务器的选定PHP配置设置。

所以我希望看看是否有可以使用的命令。

7 个答案:

答案 0 :(得分:52)

确定将使用 extension_loaded 功能的正确方法: -

if ( extension_loaded('pdo') ) {
    .......
}

您可能还想使用以下方法检查特定于数据库的PDO驱动程序: -

if ( extension_loaded('pdo_<database type here>') ) { // e.g., pdo_mysql
    .......
}

答案 1 :(得分:40)

检查班级是否存在:

if (class_exists('PDO'))

<击>

我感谢支持以及我仍然获得的所有支持,但请检查Salman Abbas's answer 正确的方式。

答案 2 :(得分:7)

从命令提示符处运行 php -m 命令,该命令提示符将显示为PHP安装的模块列表

答案 3 :(得分:6)

您有两种选择:

if (extension_loaded('pdo')) { /* ... */ }

或者(这个不是100%可靠,因为它可以在用户级类中实现):

if (class_exists('PDO', false)) { /* ... */ }

就个人而言,我更喜欢第一种选择。

答案 4 :(得分:3)

if (!defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO unavailable';
}
elseif (defined('PDO::ATTR_DRIVER_NAME')) {
echo 'PDO available';
}

我希望这有效

答案 5 :(得分:1)

怎么样

if (in_array('pdo', get_loaded_extensions())) {
   ... pdo is there ...
}

答案 6 :(得分:0)

适用于任何模块的选项是

php -i | grep -i "Your module name"

这可以让您知道是否启用了模块,但是您仍然应该尝试一下。