【问题标题】:PHP7.0 & Informix DB connectorsPHP7.0 和 Informix DB 连接器
【发布时间】:2017-12-11 19:55:48
【问题描述】:

我正在尝试通过 php7.0 远程连接到 Informix 数据库 我找到了司机 https://pecl.php.net/package/PDO_INFORMIX/1.3.3

下载了.tar.gz。并将其提取出来。 通过 phpize 准备好 php 文件并运行 ./configure,如下所述:

http://php.net/manual/en/ref.pdo-informix.php

但是,它会因以下错误而崩溃:

检查 PDO 包括...配置:错误:找不到 php_pdo_driver.h。

我知道 PDO 作为核心 PHP 库已经有一段时间了,可能 C 头文件的名称与库中引用的不同。

有什么想法可以从这里开始吗? 这是非常艰难的一天。 无论如何,安装 Informix SDK 本身就是一场噩梦。连安装目录都找不到。

【问题讨论】:

    标签: pdo informix php-7


    【解决方案1】:

    Informix SDK 由 IBM 精心设计,旨在毁掉您的一天。

    • 整个集合默认在/opt/IBM/informix
    • /opt/IBM/informix/lib/cli/opt/IBM/informix/lib/esql 添加到您的动态链接器查找路径。在 Fedora 上,您可以通过将它们放入一个新文件 /etc/ld.so.conf.d/informix.conf 来做到这一点
    • 需要设置环境变量INFORMIXDIR。在 Fedora 上,您可以添加一个新文件 /etc/profile.d/informix.sh 并添加 export INFORMIXDIR=/opt/IBM/informix
    • 编辑/opt/IBM/informix/etc/sqlhosts 并将您的基本连接信息放在那里。在最简单的情况下,它只有一行读取YOUR_SERVER_NAME\tonsoctcp\tYOUR_DB_NAME\tpdap-np。请注意,pdap-np 实际上是端口 1526,它也是 Informix “Turbo”-Driver tcp 端口。请查看您的/etc/services
    • 进行环境更改,例如如果您在全局范围内执行了这些操作,则需要重新启动。
    • 我不记得包含目录,但您可能需要在您的CFLAGS-I 中使用/opt/IBM/informix/include

    【讨论】:

    • 还没有真正做到这一点:) 目前我在安装 CSDK 时仍然遇到问题。我收到错误消息说我没有合适的 Java 版本,但我已经更新了所有 sys 库。没有 CSDK 就无法为 php 安装 PDO_INFORMIX,所以我什至还没有理会它。 CSDK 占用大量空间o_o。您是否知道我必须做什么才能为 csdk 获得适当的 java 版本?我在 Ubuntu 上运行
    • 我不知道。但是 CSDK 的安装程序附带了一个捆绑的 Java 解释器,应该可以自动使用 - 如果你卸载/隐藏你的 system-java,你可以让它工作
    • 感谢您的帮助,我会试试看:)
    猜你喜欢
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多