PHP-连接到MSSQL数据库-FreeTDS、PHP5.3.27、Linux Redhat 64位
我很难使用PHP从我的Redhad linux机器连接到MSSQL数据库。我已经在谷歌上搜索到了这个东西,但我尝试的一切似乎都不起作用 我已经安装了FreeTDS并编译了PHP安装包来创建mssql.so扩展。我已将扩展名放在正确的扩展名目录中,并已将扩展名添加到php.ini文件中 我还关闭了所有防火墙,以消除这种情况 我尝试的最新PHP是: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
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版本
- 港口
# 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时出错')代码>