freetds.conf 在 Windows 上的 PHP 5.5.3 中被忽略

freetds.conf ignored in PHP 5.5.3 on Windows

我按照这个 link: https://docs.moodle.org/23/en/Installing_MSSQL_for_PHP 在我的 PHP 5.5.3 上安装 php_dblib.dll(它是为 Windows 64 位编译的 FreeTDS)Windows 64位成功。 phpinfo() 的输出显示:

Environment

...
FREETDS d:\portable_sw\php-5.5.30-Win32-VC11-x64\conf
...
mssql

MSSQL Support   enabled
Active Persistent Links 0
Active Links    0
Library version FreeTDS
...

看起来 PHP 引擎捕获了 freetds.conf 所在的位置并且 mssql 库安装正常。在我的 freetds.conf 中,我将服务器名称 'mydb' 定义为:

[mydb]
    host = 10.18.1.11
    port = 1433
    client charset = cp950
    tds version = 7.0

但是当我 运行 一个 PHP 脚本在浏览器中带有以下 php 语句时:

$conn = mssql_connect('mydb', 'myuid', 'mypwd') or mydie('open mydb failed!');

它只是在那里挂了一会儿,然后浏览器显示:

Cannot connect to the website

Please make sure: 

- You have entered the correct URL. 
- You are connected to the Internet.
- Your firewall is properly configured.
- The website is not encountering any technical problem at the moment.

Error code 101 (net::ERR_CONNECTION_RESET)

如果我将 'mydb' 更改为“10.18.1.11”,则连接正常。 freetds.conf 中的设置似乎被忽略了。可能是什么原因,我该如何解决?

我放弃了mssql-*,改用sqlsrv-*,效果不错。所以"ME".

回答了他的问题