sybase_connect() 错误 - “无法连接:Adaptive Server 不可用或不存在”

Posted

技术标签:

【中文标题】sybase_connect() 错误 - “无法连接:Adaptive Server 不可用或不存在”【英文标题】:sybase_connect() Error - "Unable to connect: Adaptive Server is unavailable or does not exist" 【发布时间】:2019-08-23 15:36:31 【问题描述】:

尝试使用 sybase_connect() 连接到 SQLServer 时,我收到以下错误:

从命令行: $> php test.php

致命错误:未捕获错误:调用 test.php:7 中未定义的函数 sybase_connect()

通过 XAMPP 运行脚本:

警告:sybase_connect():Sybase:客户端消息:无法连接:Adaptive Server 不可用或在第 7 行的 test.php 中不存在(严重性 78)

警告:sybase_connect(): Sybase: Unable to connect in test.php on line 7

致命错误:在第 7 行的 test.php 中调用未定义函数 error()

这是我的代码:

<?php

$server = 'server.domain.com';
$username = 'user';
$password = 'pwd';

$sqlconnect = sybase_connect($server, $username, $password, 'UTF-8') or error('connect');

我在 Mac OS,PHP 5.6 上运行 XAMPP。

我尝试在命令行上通过 tsql 连接到服务器,它确实有效(有和没有指定端口):

 tsql -S server.domain.com -U user 
 tsql -S server.domain.com -U user -p 1433

我尝试在 php.ini 上激活 sybase 的扩展,但仍然遇到同样的错误:

extension=php_sybase_ct.dll

我还从 *** 的答案中尝试了一些随机的东西,但老实说,我完全迷路了。

【问题讨论】:

sql-server 标记表示 Microsoft SQL Server。如果您使用的是 Sybase,请将其删除。 如文档所述,sybase_connect 打开与 Sybase 服务器的连接,而不是 sql 服务器。 @DanGuzman 看来sybase 扩展也可以用来连接MS SQL Server。它实际上是在我试图复制的生产环境中以这种方式配置的(使用 sybase 允许安全连接),但不幸的是,我还没有找到任何关于如何在本地环境中配置 sybase 以连接到 SQL 的文档服务器。 【参考方案1】:

AFAIK,sybase* 函数只能连接到旧版本的 SQL Server,并且已在 PHP 7.0 中删除,这将很快成为唯一可用的安全版本。

我建议使用 PHP 的 sqlsrv_connect(): https://www.php.net/manual/en/function.sqlsrv-connect.php ...或 PDO:https://www.php.net/manual/en/pdo.construct.php

祝你好运!

【讨论】:

感谢 FlipperPa,我们将按照您的建议探索 sqlsrv_connect 选项

以上是关于sybase_connect() 错误 - “无法连接:Adaptive Server 不可用或不存在”的主要内容,如果未能解决你的问题,请参考以下文章

laravel 框架 视图 里面怎么用php函数

SMTP 错误:无法验证。无法发送消息。邮件程序错误:SMTP 错误:无法验证

您指定的网页无法访问! 错误类型:403

KernelBase.dll出现错误,无法解决

Win7无法启动服务错误1068怎么办?

您指定的网页无法访问 错误类型500是啥意思?