PHP7.0& Informix DB连接器

时间:2017-07-07 13:32:24

标签: pdo informix php-7

我正在尝试通过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包括... configure:error:找不到php_pdo_driver.h。

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

任何想法从哪里开始? 这是一个非常艰难的一天。 无论如何,安装Informix SDK本身就是一场噩梦。甚至找不到安装目录。

1 个答案:

答案 0 :(得分:2)

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
  • 让环境变化,例如如果你在全球范围内进行重启,请重新启动。
  • 我记不起包含目录,但您/opt/IBM/informix/include CFLAGS -I
  • 可能需要 System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; using (var response = WebRequest.Create("https://tlstest.paypal.com/").GetResponse()) using (var streamReader = new StreamReader(response.GetResponseStream())) { Console.WriteLine(streamReader.ReadToEnd()); }