用于测试pdo的php代码可用吗?

时间:2010-06-28 09:50:29

标签: php mysql pdo

我想使用PDO,但我不确定我的托管是否已正确设置。

如何在PHP中测试它是否已设置并适用于MySQL?

6 个答案:

答案 0 :(得分:38)

PDO总是为php 5.1+安装。您可以使用phpinfo()检查已安装或未安装的特定数据库驱动程序;你可以尝试使用@Mark Ba​​ker的想法检查特定的驱动程序并检查特定的常量;

var_dump(defined(PDO::MYSQL_ATTR_LOCAL_INFILE)); // mysql
var_dump(PDO::FB_ATTR_TIME_FORMAT)); // firebird

请注意,并非所有驱动程序都定义了特定的常量,因此phpinfo()仍然是最佳解决方案。

使用命令行,您可以使用:

进行检查
$ php -m

作为phpinfo()的替代品,您可以使用:

extension_loaded ('PDO' ); // returns boolean
// or
extension_loaded('pdo_mysql');
// or get all extensions and search for a specific one
get_loaded_extensions(); 

答案 1 :(得分:28)

除了使用phpinfo()查看它是否正确列出

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

答案 2 :(得分:15)

试试这个

print_r(PDO::getAvailableDrivers());

应该提供PHP支持的应用程序

Array ( [0] => mysql [1] => sqlite )

答案 3 :(得分:9)

使用命令行,用于PDO:

php -m|grep -i pdo

对于支持MySQL的PDO:

php -m|grep -i pdo_mysql

要安装php mysql支持,请搜索包名称(Ubuntu):

apt-cache search php5*|grep mysql

如果还没有安装它(Ubuntu):

sudo apt-get install php5-mysql

答案 4 :(得分:4)

创建包含

的文件
<?php

phpinfo();

?>

它将显示PDO(和其他功能是否已启用)

答案 5 :(得分:0)

对于Windows服务器,我发现以下内容对于检查从命令提示符加载哪些PDO扩展非常有用:

php -m|findstr -i pdo_

在我的系统上,该命令会向我发出以下结果:

pdo_mysql PDO_ODBC pdo_pgsql pdo_sqlite