您好,我在安装 informix 客户端 sdk 后遇到问题(引用:http://www.debian-administration.org/article/651/Connect_to_Informix_using_PHP5_on_Lenny_x86_64)
操作系统:CentOS
这是我用来连接的 .php 文件
$db_conn = ifx_connect("dbname@IPHost","用户","pass");
这里有一些错误, 警告:ifx_connect() [function.ifx-connect]: E [SQLSTATE=IX 001 SQLCODE=-1829] 在/var/www/html/index.php 第 5 行
有人知道解决办法吗? 谢谢
最佳答案
您从 Informix 中查找有关错误的更多信息的方式通常是:
$ finderr -1829
-1829 Cannot open file citoxmsg.pam.
The file citoxmsg.pam is missing from the directory $INFORMIXDIR/msg.
If this error occurs, note all circumstances and contact IBM Technical Support.
$
(给出或去掉一些空行。)finderr
命令位于 $INFORMIXDIR/bin 中。您需要在环境中设置 $INFORMIXDIR,除非 /usr/informix
正确 - 它可能是指向实际软件目录的符号链接(symbolic link)。
有两种可能性:
- 当 PHP 运行时,您没有在环境中设置 INFORMIXDIR,和/或 php.ini 文件没有为 $INFORMIXDIR 定义值,或者该值设置不正确,或者是默认值(很可能
/usr/informix
) 正在使用,但该软件未安装在那里。 - 安装未完成 - 如前所述,相关消息文件丢失。
在这两者中,我认为原因 1 的可能性更大。
SQLSTATE 的 IX001 值没有什么用处 - 它是通用的“Informix 出现问题”消息。 SQLCODE 更重要、更有帮助。
关于centos - Informix 问题 (ifx_connect),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6042148/