我需要安装 pgsql_pdo,但通过以下方式收到此错误
root@server5 [~]# pecl 安装 pdo_pgsql
root/tmp/pear/PDO/pdo_dbh.c:1139: error: ‘zend_internal_function’ has no member named ‘pass_rest_by_reference’
/root/tmp/pear/PDO/pdo_dbh.c:1140: error: ‘zend_internal_function’ has no member named ‘return_reference’
/root/tmp/pear/PDO/pdo_dbh.c: In function ‘pdo_dbh_init’:
/root/tmp/pear/PDO/pdo_dbh.c:1242: warning: assignment from incompatible pointer type
/root/tmp/pear/PDO/pdo_dbh.c: In function ‘pdo_dbh_new’:
/root/tmp/pear/PDO/pdo_dbh.c:1413: error: ‘zend_class_entry’ has no member named ‘default_properties’
make: *** [pdo_dbh.lo] Error 1
ERROR: `make' failed
7 source files, building
running: phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
building in /root/tmp/pear/pear-build-rootAz8UPA/PDO_PGSQL-1.0.2
running: /root/tmp/pear/PDO_PGSQL/configure
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 for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
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/local
checking for PHP includes... -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib
checking for PHP extension directory... /usr/local/lib/php/extensions/no-debug-non-zts-20100525
checking for PHP installed headers prefix... /usr/local/include/php
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... gawk
checking for PostgreSQL support for PDO... yes, shared
checking for pg_config... not found
configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
ERROR: `/root/tmp/pear/PDO_PGSQL/configure' failed
答案1
在您发布的长终端会话中,唯一重要的部分是:
Cannot find libpq-fe.h
因此,请使用发行版提供的任何工具(您没有说明您使用的是哪个发行版)来查找包含该文件的包。然后安装该包并重试。它可能名为 libpq-devel 或类似名称。例如,在基于 Debian 的发行版中,您可以运行
apt-file search libpq-fe.h