2

I have a Centos server with apache and PHP on it, and I have a SQL Server on another server, when I try to connect to MSSQL with tsql -H "sql server ip" -p1433 -U sa, it works and connects OK, but when I try to run following PHP code

error_reporting(E_ALL);
ini_set('display_errors', '1');
$connection = mssql_connect('serverIP', 'username', 'password');

I get the error :

Warning: mssql_connect(): Unable to connect to server: serverIP in /var/www/html/mssql.php on line 4

what should I do?

4

2 回答 2

6

你必须像这个例子一样指定服务器名称和实例,我认为: http ://ca3.php.net/manual/en/function.mssql-connect.php

编辑:以下方法:服务器\实例在 unix 系统上不起作用...

实例只不过是不同于 1433 的特定端口地址......所以只需在 mssql 服务器上发现该端口,然后尝试使用以下方式进行连接:

ip:端口

在 unix 中,端口由 : 而不是 ,

于 2013-07-21T11:46:42.490 回答
1

就我而言,我注意到当我提供数据库服务器名称时我无法连接,但是当我直接提供 IP 地址时,它可以工作!

也许这些信息可能对其他人有帮助......

编辑:经过一番研究,我认为这可能与 freetds.conf 文件有关,该文件可能包含服务器定义。当使用名称而不是 IP 时,我很确定驱动程序正在寻找同名的 TDS 定义......

于 2015-07-24T10:14:05.803 回答