我花了大约一天时间对此进行排查,但我找不到任何错误。我收到错误:
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,并尝试了几乎所有事情。