PHP PDO ODBC MSSQL 连接
PHP PDO ODBC MSSQL connection
我已经按照 PHP 官方文档在 IIS7 上安装了 PHP,并且安装成功。我可以 运行 PHP 个文件,我的网站没问题。
但是我无法使用 PDO 和 ODBC 驱动程序连接到我在 MSSQL 上的数据库。我已经仔细设置了 php.ini,我认为一切都很好。此外,我还认为 ODBC 在 Windows 上是原生的,而 PDO 包含在最新的 PHP 版本中(我的是 5.5.36)。
这是我的连接代码:
define("UID", 'uid');
define("PWD", 'pwd');
define("DSN", 'odbc:decheterie');
// where 'decheterie' is the dataSource set in the ODBC Connection Manager
try {
$pdo = new PDO(DSN, UID, PWD);
} catch (PDOException $e) {
die("Error! ".$e->getMessage());
}
我得到的错误是:
Error! Could not find driver
如果我 运行 a php -m
我可以看到 PDO 和 ODBC 模块已正确加载。
但是 PDO::getAvailableDrivers()
returns 是一个空数组,它可以在 phpinfo()
中验证,它在 'PDO drivers' 部分显示 'no value'。
我已经阅读了很多帖子和文章,每次响应都被验证为 'problem solving' 它在我的配置中已经很好了。
如果有人能帮助它,那将是有福的;)
已解决!
答案在上面的评论里。您需要 DL php_pdo_sqlsrv_*.dll
在您的 PHP /ext 文件夹中,并在您的 php.ini
中将其作为扩展引用
'*' 用于 PHP 版本,一切都在
MSDN 文档 here
谢谢
我已经按照 PHP 官方文档在 IIS7 上安装了 PHP,并且安装成功。我可以 运行 PHP 个文件,我的网站没问题。 但是我无法使用 PDO 和 ODBC 驱动程序连接到我在 MSSQL 上的数据库。我已经仔细设置了 php.ini,我认为一切都很好。此外,我还认为 ODBC 在 Windows 上是原生的,而 PDO 包含在最新的 PHP 版本中(我的是 5.5.36)。
这是我的连接代码:
define("UID", 'uid');
define("PWD", 'pwd');
define("DSN", 'odbc:decheterie');
// where 'decheterie' is the dataSource set in the ODBC Connection Manager
try {
$pdo = new PDO(DSN, UID, PWD);
} catch (PDOException $e) {
die("Error! ".$e->getMessage());
}
我得到的错误是:
Error! Could not find driver
如果我 运行 a php -m
我可以看到 PDO 和 ODBC 模块已正确加载。
但是 PDO::getAvailableDrivers()
returns 是一个空数组,它可以在 phpinfo()
中验证,它在 'PDO drivers' 部分显示 'no value'。
我已经阅读了很多帖子和文章,每次响应都被验证为 'problem solving' 它在我的配置中已经很好了。
如果有人能帮助它,那将是有福的;)
已解决!
答案在上面的评论里。您需要 DL php_pdo_sqlsrv_*.dll
在您的 PHP /ext 文件夹中,并在您的 php.ini
中将其作为扩展引用'*' 用于 PHP 版本,一切都在 MSDN 文档 here
谢谢