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".
回答了他的问题
我按照这个 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".
回答了他的问题