Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-连接到MSSQL数据库-FreeTDS、PHP5.3.27、Linux Redhat 64位_Php_Sql Server_Linux_Redhat - Fatal编程技术网

PHP-连接到MSSQL数据库-FreeTDS、PHP5.3.27、Linux Redhat 64位

PHP-连接到MSSQL数据库-FreeTDS、PHP5.3.27、Linux Redhat 64位,php,sql-server,linux,redhat,Php,Sql Server,Linux,Redhat,我很难使用PHP从我的Redhad linux机器连接到MSSQL数据库。我已经在谷歌上搜索到了这个东西,但我尝试的一切似乎都不起作用 我已经安装了FreeTDS并编译了PHP安装包来创建mssql.so扩展。我已将扩展名放在正确的扩展名目录中,并已将扩展名添加到php.ini文件中 我还关闭了所有防火墙,以消除这种情况 我尝试的最新PHP是: <?php echo "y"; $server = 'SERVERNAME'; echo "e"; // Connect to MSSQL $l

我很难使用PHP从我的Redhad linux机器连接到MSSQL数据库。我已经在谷歌上搜索到了这个东西,但我尝试的一切似乎都不起作用

我已经安装了FreeTDS并编译了PHP安装包来创建mssql.so扩展。我已将扩展名放在正确的扩展名目录中,并已将扩展名添加到php.ini文件中

我还关闭了所有防火墙,以消除这种情况

我尝试的最新PHP是:

<?php

echo "y";
$server = 'SERVERNAME';
echo "e";
// Connect to MSSQL
$link = mssql_connect($server, '<USERNAME>', '<PASSWORD>');
echo "s";
if (!$link) {
    die('Something went wrong while connecting to MSSQL');
}
echo "!";
?>


当我执行这段代码时,我什么也得不到。于是,这些回音又加了一句,我得到的只有ye,这告诉我它根本没有连接。任何帮助都将不胜感激。我已尝试在服务器上搜索日志文件,但我真的不知道要查找什么。

FreeTDS默认使用外部配置来指定服务。检查:

/etc/freetds.conf
或/usr/local/etc/freetds.conf,具体取决于安装方式

“服务器”可能会误导您。我不确定PHP:mssql_connect()是否有能力获取其他参数,但freeTDS后端需要更多信息,特别是:

  • TDS版本
  • 港口
这些文件在freetds.conf中设置,语法类似于INI文件。在示例配置文件的示例中:

# A typical Microsoft server
[egServer70]
    host = ntmachine.domain.com
    port = 1433
    tds version = 7.0
在我在任何环境中使用freeTDS时,主机都是误导性的,这是freeTDS期望的括号中的名称(即上面示例中的egServer70)

但是尝试从更高级别的抽象(PHP:mssql_connect()函数)进行测试是不够的。您应该尝试freetds提供的命令行工具,特别是tsql或osql。这就是他们在那里的目的。没有这样的测试,真的很难知道失败在哪里

如果连接API支持,则可以指定freeTDS需要的所有参数

试试这个
mssql_connect($server,'','')或die('连接到MSSQ时出错')