【介绍】
phpPgAdmin 是使用PHP开发的管理PostgreSQL的工具。
实证:https://github.com/ReimuHakurei/phppgadmin
实证成功:PHP7.2 + PostgreSQL 9.6 + phpPgAdmin 10.0 (Tomicapo版)
对照:https://github.com/Tomicapo/phppgadmin
对照:https://github.com/phppgadmin/phppgadmin
弃用:http://phppgadmin.sourceforge.net/doku.php
参考:https://www.jb51.net/article/47535.htm
参考:https://blog.csdn.net/wangyezi19930928/article/details/20358369
【安装】
wget https://github.com/ReimuHakurei/phppgadmin/archive/master.zip && unzip master.zip && mv phppgadmin-master psql
【配置】
把 conf/config.inc.php-dist 复制为 conf/config.inc.php
编辑 config.inc.php :
... $conf['servers'][0]['host'] = 'localhost'; ... $conf['extra_login_security'] = false; ...
在浏览器打开phpPgAdmin。
报错:您的 PHP 中没有完整的数据库支持
参考:http://bbs.chinaunix.net/thread-538067-1-1.html
因为编译PHP时没有添加 PostgreSQL 支持,需要重新编译PHP。
参考:https://blog.csdn.net/u011138447/article/details/51224394
./configure 中添加 PostgreSQL 的安装路径:
yum指定9.6版本安装:–with-pgsql=/usr/pgsql-9.6/ –with-pdo-pgsql=/usr/pgsql-9.6/
yum指定11版本安装:–with-pgsql=/usr/pgsql-11/ –with-pdo-pgsql=/usr/pgsql-11/
yum默认版本安装:–with-pgsql=/usr/lib/pgsql –with-pdo-pgsql=/usr/lib/pgsql
如果不指定,如果configure时报错:
configure: error: Cannot find libpq-fe.h.
wget http://php.net/distributions/php-7.2.8.tar.xz && tar -xvf php-7.2.8.tar.xz && cd php-7.2.8 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=apache --with-fpm-group=apache --disable-debug --with-curl --with-iconv --with-pcre-regex --with-zlib --enable-bcmath --enable-ftp --enable-sockets --enable-mbstring --enable-mbregex --enable-soap --with-xsl --with-openssl --enable-opcache=no --with-mysqli --with-mysql-sock --with-pdo-mysql --enable-mysqlnd --disable-fileinfo --with-gd=/usr/local/gd --enable-gd-jis-conv --with-jpeg-dir=/usr/local/jpeg/lib --with-png-dir=/usr/local/png --with-freetype-dir=/usr/local/freetype --with-libzip=/usr/local/lib64 --enable-zip --with-iconv-dir=/usr/local/lib --with-readline --with-apxs2=/usr/local/apache2/bin/apxs LDFLAGS="-L/usr/lib -lz" make ZEND_EXTRA_LIBS='-liconv' make install
重新安装完PHP后重启httpd服务器,即可通过浏览器打开 phpPgAdmin ,报错消失。
报错:Login disallowed for security reasons.
参考:http://blog.sina.com.cn/s/blog_4cf7752c0100t5ms.html
编辑:conf/config.inc.php 105行:
$conf['extra_login_security'] = false;
问题解决。
报错:Warning: pg_connect(): Unable to connect to PostgreSQL server: FATAL: Ident authentication failed for user “postgres”
编辑:conf/config.inc.php 105行:
# IPv6 local connections: host all all ::1/128 trust
问题解决。
报错:Notice: Undefined index
参考:https://sourceforge.net/p/phppgadmin/discussion/115884/thread/bba30f38/
这是因为PHP版本过高导致的问题。
编辑:conf/config.inc.php 添加:
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
问题隐藏。
报错:Error Loading all_db.php
参考:https://sourceforge.net/p/phppgadmin/mailman/message/8387927/
参考:https://sourceforge.net/p/phppgadmin/mailman/message/8388313/
这个问题当 PHP5 + PostgreSQL 9.6 时不再出现。
报错:Deprecated: The each() function is deprecated. /psql/libraries/adodb/adodb-error.inc.php on line 106
这是因为 PHP7 不再支持 each() 所导致。使用 Tomicapo 的升级版即可。
报错:Version of PostgreSQL not supported. Please upgrade to version or later.
官方已经很久没维护了,只支持到 PostgreSQL 9.2,可能支持 PostgreSQL 9.6 。
编辑 classes/database/Connection.php
switch (substr($version,0,3)) { case '10.': return 'Postgres10'; break; case '9.6': return 'Postgres96'; break; case '9.5': return 'Postgres95'; break; case '9.4': return 'Postgres94'; break; }
并把 Postgres10.php 复制为 Postgres11.php ,并适应性编辑内容。
然鹅依然实证未遂。