Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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访问Sybase数据库_Php_Database_Sybase - Fatal编程技术网

从PHP访问Sybase数据库

从PHP访问Sybase数据库,php,database,sybase,Php,Database,Sybase,我有一个基于Sybase数据库的应用程序。该应用程序正在Windows Server 2003上运行。我试图从php获取数据库,结果显示有许多dll文件丢失,包括php sybase扩展名。我检查了php扩展目录,发现文件存在于显示错误的路径上 这里我想提到的是,我在windows服务器上安装了XAMPP1.8.0,并从php.ini启用了sybase扩展 我使用了下面的代码来连接,正如在 ==更新== 它显示以下dll文件丢失,我手动下载并添加了它们 libcs.dll libintl.d

我有一个基于Sybase数据库的应用程序。该应用程序正在Windows Server 2003上运行。我试图从
php
获取数据库,结果显示有许多
dll
文件丢失,包括php sybase扩展名。我检查了php扩展目录,发现文件存在于显示错误的路径上

这里我想提到的是,我在windows服务器上安装了XAMPP1.8.0,并从php.ini启用了sybase扩展

我使用了下面的代码来连接,正如在


==更新==

它显示以下
dll
文件丢失,我手动下载并添加了它们

libcs.dll

libintl.dll

iconv.dll

现在我得到了以下错误

在动态链接库iconv.dll中找不到过程入口点iconv\u open

从启用Sybase PHP扩展开始,就出现此错误


PHP启动:无法加载动态库“C:\xampp\PHP\ext\PHP\u sybase\u ct.dll”-当我看到
无法加载动态库“C:\xampp\PHP\ext\PHP\u sybase\u ct.dll”时,无法找到指定的过程

问题归结为a)有一组旧的/过时的库,或b)使用引用“旧”Sybase lib名称(在ASE 15中,Sybase更改了其lib的名称,而一些应用程序还没有意识到这一点)

对于第一个问题,显而易见的(?)解决方案是下载适当的Sybase LIB集(这将取决于您的应用程序代码/版本以及ASE版本)。[您的帖子中没有足够的信息,无法知道这是否解释了您的情况。]

对于第二个问题,有一个相对简单的解决方案(以下基于一个PHP应用程序,该应用程序具有一个包含Sybase客户端libs的Sybase特定子目录):

  • 在Windows cmd窗口中
  • 源应用程序的*.bat文件[加载应用程序的环境]
  • cd到名为
    ..\OCS*\scripts
  • 运行
    copylibs.bat
  • 再次尝试启动PHP应用程序,然后
  • 如果问题已解决,则
    php\u sybase\u ct.dll
    错误消息应消失

如果您提供完整的dll名称以及收到的完整错误消息,可能会有所帮助。@markp感谢您的回复。我更新了问题并提到了dll名称。丢失的dll一个接一个地出现。比如当我添加第一个dll时,它显示缺少另一个dll
<?php
$link = sybase_connect('SYBASE', '', '')
        or die("Could not connect !");
echo "Connected successfully";
sybase_close($link);
?>