【发布时间】:2013-07-04 00:44:34
【问题描述】:
经过大量阅读和搜索,我能够让 PDO DBLIB 在 Centos 6.4 32 位中工作(有很多 64 位文档,而不是 32 位文档)。令我惊讶的是,以下代码可从 shell 命令 ($ PHP test.php )
工作<?php
try {
$conn = new PDO('dblib:host='.$host.':1433;dbname='.$db, $user, $pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
但是当从网络浏览器访问文件 test.php 时,我收到以下错误:
错误:SQLSTATE[HY000] 无法连接:Adaptive Server 是 不可用或不存在(严重性 9)
我还可以使用以下命令从 shell 连接到 SQL Server:
tsql -H 192.168.1.120 -p 1433 -U sa
我错过了什么?
【问题讨论】:
-
PHP 中的 cli 和 sapi 模式可以有完全不同的配置。比较
php -i(cli) 和phpinfo()(sapi) 设置,看看是否有任何差异。 -
有什么办法可以让两者都一样吗?
-
更改适当的 .ini 文件。 php -i/phpinfo 会告诉你正在使用什么(以及在哪里).ini 文件。
-
他们都从 /etc/php.ini 读取 PHP.INI
标签: sql-server-2008 pdo