这是我正在使用的代码。
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
$myServer = "ip-address:1334/SQLEXPRESS";
$myUser = "username";
$myPass = "password";
$myDB = "dbname";
$link = mssql_connect($myServer, $myUser, $myPass);
if ( !$link ) {
if ( function_exists('error_get_last') ) {
var_dump(error_get_last());
}
die('connection failed');
}
?>
现在这段代码在linux机器上运行,服务器在Windows服务器上运行。 IP是正确的以及用户名,密码我在SQLEXPRESS中创建了一个新对。但是,我仍然遇到连接问题。
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server
端口1334由我们的Windows服务器打开,SQL服务器正在侦听1334和1433.出于安全原因,不会打开默认端口。他们仔细检查了设置,但我仍然无法连接。
对我来说下一步应该是什么。
亲切的问候
Khuram
答案 0 :(得分:2)
可能是Windows SQL Server有防火墙限制,限制从服务器外部访问。
答案 1 :(得分:2)
要连接Linux + Apache + SQLEXPRESS 2005,请注意:
不要使用标准MS-SQL端口(1433),使用SQL Server配置管理器下的MS-SQL动态端口 - &gt; SQL Express协议 - &gt; TCP / IP属性 - &gt; IP地址 - &gt; IPAll
您可以使用以下statemt进行直接连接(不使用FreeTDS):
$分贝= mssql_connect( '192.168.xxx.xxx:1541', 'usrxxxx', 'pwdxxxx');
- 您可以使用FreeTDS配置freetds.conf文件,如下所示:
[connect2k5]
host = 192.168.xxx.xxx
port = 1541
tds version = 8.0
使用以下PHP语句:
$db=mssql_connect('connect2k5','usrxxxx','pwdxxxx');
得到的
答案 2 :(得分:1)
端口可能未打开。您应该能够通过telnet连接到端口1334或1433.您将不会收到任何文本,但它将连接。