将sles apache上的php pdo连接到mssql数据库

将sles apache上的php pdo连接到mssql数据库,php,sql-server,pdo,connection,suse,Php,Sql Server,Pdo,Connection,Suse,我有一个PHP(v.5.3.17)插件,运行在SLES11 Apache上,用于向数据库发送查询。我已经安装了unixodbc(版本2.2.12) 我想通过PHP:PDO将插件连接到远程MSSQL数据库,以运行一些查询 PDO:ODBC支持已启用: PDO support enabled PDO drivers odbc, mysql, pgsql, sqlite, sqlite2 我通过Telnet测试了连接。在那里我得到了一个积极的结果 telnet> open 10.22.

我有一个PHP(v.5.3.17)插件,运行在SLES11 Apache上,用于向数据库发送查询。我已经安装了unixodbc(版本2.2.12)

我想通过PHP:PDO将插件连接到远程MSSQL数据库,以运行一些查询

PDO:ODBC支持已启用:

PDO support enabled 
PDO drivers  odbc, mysql, pgsql, sqlite, sqlite2  
我通过Telnet测试了连接。在那里我得到了一个积极的结果

telnet> open 10.22.77.18 1433
Trying 10.22.77.18...
Connected to 10.22.77.18.
Escape character is '^]'.
我还可以通过tsql连接到sql数据库:

#>tsql -S ms-sql -U <user> -P <passwort>
locale is "LC_CTYPE=de_DE.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=C;LC_IDENTIFICATION=C"
locale charset is "UTF-8"
using default charset "UTF-8"
1>
我找到了一份关于他的说明

当我执行SKcript时,我既没有收到消息“Connection established”也没有收到消息“No Connection established”。我只得到命令提示符“>”。 我也是通过连接到一个错误的IP得到这个提示的

我认为我的连接字符串是错误的,但为什么我没有收到错误消息?

要使用连接到MSSQL,可以使用或

中的一条评论提到微软已经有一段时间没有更新他们的驱动程序了,官方版本只存在于5.2、5.3和5.4版本中。

下载并将其解压缩到PHP扩展目录。然后激活
php.ini
文件中的扩展名。您需要在该文件中添加以下行(您需要适应下载的文件名):


不要忘记重新启动服务器(这与重新启动服务不同)。我希望这会有所帮助。

我的Web服务器运行在Linux操作系统上。我认为DLL只与Windows操作系统相关。
# isql -v  ms-sql
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
extension=php_pdo_sqlsrv_52_nts.dll