我花了大约一天的时间来解决这个问题,但我找不到任何问题。我得到错误:
Could not connect to server: SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]
[message] => [Microsoft][SQL Server Native Client 11.0]SQL Server Network Interfaces: Error Locating Server/Instance Specified
当我尝试点击具有数据库查询的页面时。我已经尝试过 PHP 5.4 和 5.3。我的 .ini 文件有这些行,
extension=php_sqlsrv_53_nts.dll
[sqlsrv]
sqlsrv.LogSubsystems = 0
sqlsrv.LogSeverity = 0
sqlsrv.WarningReturnAsErrors = 0
并且 php_sqlsrv_53_nts.dll 在 ext 文件夹中。phpinfo()
显示:
sqlsrv
sqlsrv support enabled
Directive Local Value Master Value
sqlsrv.ClientBufferMaxKBSize 10240 10240
sqlsrv.LogSeverity 0 0
sqlsrv.LogSubsystems 0 0
sqlsrv.WarningsReturnAsErrors On On
所以我知道驱动程序已加载。我的连接代码是:
define('DB_SERVER', '(local)\sqlexpress');
define('DB_NAME', 'DatabaseName');
public function __construct() {
$connectionInfo = array('Database' => DB_NAME, 'ReturnDatesAsStrings' => true);
$this->connection = sqlsrv_connect( DB_SERVER, $connectionInfo ) or die('Could not connect to server: <br/><br/>'.print_r( sqlsrv_errors(), true));
}
这是一个本地数据库,因此 tcp、命名管道等应该没有任何问题。我可以在 .Net 项目中很好地连接到这个数据库。在这一点上,我对任何事情都持开放态度,因为我已经搜索了 Google 和 Stack Overflow 并尝试了几乎所有事情。