gpt4 book ai didi

PHP - 连接到 MSSQL 数据库 - FreeTDS、PHP 5.3.27、Linux Redhat 64 位

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:18 25 4
gpt4 key购买 nike

我很难使用 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 "!";
?>

当我执行这段代码时,我什么也得不到。所以添加了那些 echo ,我得到的只是你,这告诉我它根本没有连接。任何帮助将不胜感激。我试过在服务器上搜索日志文件,但我真的不知道要找什么。

最佳答案

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 时,host 都是误导性的,它是 freeTDS 期望的括号名称(即上例中的 egServer70)。

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

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

关于PHP - 连接到 MSSQL 数据库 - FreeTDS、PHP 5.3.27、Linux Redhat 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com