php mssql_connect无法正常工作

时间:2011-05-28 06:15:30

标签: php sql sql-server

这是我正在使用的代码。

<?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

3 个答案:

答案 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');

我是从http://php.net/manual/en/function.mssql-connect.php

得到的

您还可以尝试http://www.akamarketing.com/blog/99-php-sql-server-connection-problems-mssql_connect-functionmssql-connect-unable-to-connect-to-server.html

答案 2 :(得分:1)

端口可能未打开。您应该能够通过telnet连接到端口1334或1433.您将不会收到任何文本,但它将连接。