0

我必须为我的 php 服务器使用 ingres 数据库。

我只有一个问题:

我永远不会在本地连接自己的ingres服务器,是否仍然必须在本地安装ingres才能安装ingres?

我尝试使用 PECL 安装 ingres:

    pecl install ingres
downloading ingres-2.2.2.tgz ...
Starting to download ingres-2.2.2.tgz (92,203 bytes)
.....................done: 92,203 bytes
10 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
Ingres II_SYSTEM dir? [/opt/Ingres/IngresII] :
building in /var/tmp/pear-build-root/ingres-2.2.2
running: /tmp/pear/temp/ingres/configure --with-ingres=/opt/Ingres/IngresII
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... no
checking if compiler supports -Wl,-rpath,... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib
checking for PHP extension directory... /usr/lib/php5/20090626
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking for improved Ingres support... yes, shared
checking Use ingres2 as the extension name... no
configure: error: Cannot find iiapi.h under /opt/Ingres/IngresII/ingres/files - is $II_SYSTEM set?
ERROR: `/tmp/pear/temp/ingres/configure --with-ingres=/opt/Ingres/IngresII' failed

它给我的印象是它试图访问一些 ingres 文件。

谢谢!

4

2 回答 2

3

Ingres PHP 扩展是使用 Ingres 的 OpenAPI 接口编写的。该 API 需要在您进行连接的计算机上安装本地 Ingres 客户端。为了构建扩展,您需要II_SYSTEM设置环境变量,指向您的本地 Ingres 客户端。一旦你有了,你可以运行

sudo II_SYSTEM=${II_SYSTEM} pecl install ingres

或执行http://svn.php.net/repository/pecl/ingres/trunk/README.html#unix中列出的步骤

如果您已经以 root 身份登录,请确保在执行之前定义了 II_SYSTEM:

pecl install ingres

于 2011-07-31T12:37:02.240 回答
0

您必须以 root 权限运行它,因为此扩展会尝试安装到 /opt/Ingres/IngresII 文件夹中。

所以尝试运行sudo pecl install ingres

于 2011-07-27T07:43:13.233 回答