从PHP访问Sybase数据库
我有一个基于Sybase数据库的应用程序。该应用程序正在Windows Server 2003上运行。我试图从从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
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);
?>