首页 > 解决方案 > sybase_connect() 错误 - “无法连接:Adaptive Server 不可用或不存在”

问题描述

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

从命令行: $> php test.php

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

通过 XAMPP 运行脚本:

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

我还从stackoverflow的答案中尝试了一些随机的东西,但老实说,我在这里完全迷失了。

标签: phpsql-serverxamppfreetds

解决方案


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

祝你好运!


推荐阅读