首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >与MS SQL的PHP连接。可在工作站上运行,但不能在2台服务器上运行

与MS SQL的PHP连接。可在工作站上运行,但不能在2台服务器上运行
EN

Stack Overflow用户
提问于 2018-07-21 04:39:07
回答 1查看 72关注 0票数 -1

好的。如果我有头发,它现在应该都在地板上了。我在笔记本电脑和我的工作机器上都有相同的文件,并且工作起来没有任何问题(当然)。两天前,我把它放在另外两台机器上,得到了下面的错误。从那时起,我一直在研究和战斗。

我测试过odbc和pdo_odbc,但也没有成功。

我肯定这是件愚蠢的事,但任何帮助都将不胜感激。

前提条件:

  • PHP 7.2.5、
  • MS SQL 2008 R2、
  • Windows Server 2008 R2 SP1 64位

代码语言:javascript
复制
<?php

$serverName = "Agency"; //serverName\instanceName
$connectionInfo = array( "Database"=>"Dashboard_DB", "UID"=>"uname", "PWD"=>"pword");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

?>

我明白了:

代码语言:javascript
复制
Connection could not be established.
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension requires the Microsoft ODBC Driver for SQL Server. Access the following URL to download the ODBC Driver for SQL Server for x86: https://go.microsoft.com/fwlink/?LinkId=163712 [message] => This extension requires the Microsoft ODBC Driver for SQL Server. Access the following URL to download the ODBC Driver for SQL Server for x86: https://go.microsoft.com/fwlink/?LinkId=163712 ) [1] => Array ( [0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified [message] => [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified ) ) 

我在结果中尝试了链接中的文件,但仍然是相同的结果。

下面是PHP.ini扩展部分

代码语言:javascript
复制
extension=bz2
extension=curl
extension=fileinfo
extension=gd2
extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
extension=php_pdo_sqlsrv_72_ts_x64
extension=php_sqlsrv_72_ts_x64
;extension=php_pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-21 05:13:07

在您的服务器中,您检查了PHP的文件夹扩展名是否有正确的文件.dll?

驱动程序可能还需要Microsoft® ODBC Driver 11 for SQL Server® - WindowsMicrosoft® ODBC Driver 13 for SQL Server® - Windows + Linux才能工作

如果你没有.dll,你可以下载并安装(安装程序只解压目标文件夹中的.dll) Microsoft Drivers 5.2 for PHP for SQL Server 到文件夹"PHP/ext“

System Requirements for the Microsoft Drivers for PHP for SQL Server中,您将看到相应的驱动程序

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51450046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档