在不支持 PostgreSQL 10 的 Ubuntu 16.04 上安装 phpPgAdmin 5.1
Installing phpPgAdmin 5.1 on Ubuntu 16.04 with PostgreSQL 10 not supported
在我的 ubuntu 16.04
中基于 https://www.howtoforge.com/tutorial/ubuntu-postgresql-installation/ 安装
登录 http://localhost/phppgadmin/ PostgreSQL,浏览器显示
不支持的 PostgreSQL 版本。请升级到版本或更高版本。
有什么解决方案吗?
编辑 3:phpPgAdmin 再次积极开发!如果您下载最新版本,它支持 PostgreSQL 最多 v11.x
http://phppgadmin.sourceforge.net/doku.php?id=download
https://github.com/phppgadmin/phppgadmin
phpPgAdmin 多年未得到积极开发。它仍然是 PostgreSQL 的一个很好的接口,但不幸的是它们只正式支持 9.2。我注意到最新版本仍然可以运行到 9.6,至少它在过去 6 个月的生产环境中,并且在此之前使用我拥有的任何东西(9.4 / 9.5?)多年。
我建议改为安装 9.6,然后从那里开始。
编辑:如果您热衷于使用 v10,那么您仍然可以使用 pgAdmin 4 作为界面,尽管这不是基于网络的。
参考:Official phpPgAdmin Website
EDIT2:请参阅 DTouch 的答案以获得良好的解决方法
其实你还是可以手动修改这个文件的:
classes/database/Connection.php
// Detect version and choose appropriate database driver
switch (substr($version,0,3)) {
case '9.5': return 'Postgres'; break;
case '9.4': return 'Postgres94'; break;
case '9.3': return 'Postgres93'; break;
case '9.2': return 'Postgres92'; break;
case '9.1': return 'Postgres91'; break;
case '9.0': return 'Postgres90'; break;
case '8.4': return 'Postgres84'; break;
case '8.3': return 'Postgres83'; break;
case '8.2': return 'Postgres82'; break;
case '8.1': return 'Postgres81'; break;
case '8.0':
case '7.5': return 'Postgres80'; break;
case '7.4': return 'Postgres74'; break;
}
switch (substr($version,0,4)) {
case '10.1': return 'Postgres'; break;
}
未完全测试,但所有主要功能都可以正常工作。
或者创建您自己的 https://github.com/phppgadmin/phppgadmin 和 create/fix 几个文件的分支以实现全面支持。
在 phppgadmin 文件夹中编辑文件 classes/database/Connection.php
在这一行之后添加:
案例'7.4':return 'Postgres74';打破;
键入或copy/paste此文本:
默认值:return 'Postgres';打破;
瞧瞧!
为了更清楚,完整路径是/usr/share/phppgadmin/classes/database/Connection。php
您也可以简单地添加
default: return 'Postgres'; break;
在 switch 语句的末尾。
还需要登录的用户名应该是"postgres"。没有很好的记录。
在目录classes/database中
调整文件 connection.php
开关 (substr($version,0,3)) {
case '9.2': return 'Postgres'; break;
case '9.1': return 'Postgres91'; break;
case '9.0': return 'Postgres90'; break;
case '8.4': return 'Postgres84'; break;
case '8.3': return 'Postgres83'; break;
case '8.2': return 'Postgres82'; break;
case '8.1': return 'Postgres81'; break;
case '8.0':
case '7.5': return 'Postgres80'; break;
case '7.4': return 'Postgres74'; break;
default: return 'Postgres'; break;
}
它也适用于版本 10,没有问题。
当您收到以下错误消息时,这也解决了问题:
未定义的变量:postgresqlMinVer 不支持的 PostgreSQL 版本。请升级到版本或更高版本。
如果您正在使用 docker(使用我的 phppgadmin 分支,因为它修复了与较新的 posrgres 的兼容性):
FROM php:8-fpm-alpine
RUN apk add --no-cache --virtual \
.build-deps git autoconf g++ make postgresql-dev \
&& docker-php-ext-install pgsql \
&& docker-php-ext-enable opcache \
&& apk add libpq ca-certificates curl apache2-proxy \
&& rm -rf /var/www/localhost/.git/ /var/www/localhost \
&& git clone https://github.com/idontusenumbers/phppgadmin.git /var/www/localhost/htdocs \
&& rm -rf /var/www/localhost/.git/ \
&& apk del .build-deps \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apk/* \
&& rm /etc/init.d/apache2
RUN echo "ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/localhost/htdocs/" >> /etc/apache2/httpd.conf
RUN echo "DirectoryIndex index.php" >> /etc/apache2/httpd.conf
在我的 ubuntu 16.04
中基于 https://www.howtoforge.com/tutorial/ubuntu-postgresql-installation/ 安装登录 http://localhost/phppgadmin/ PostgreSQL,浏览器显示 不支持的 PostgreSQL 版本。请升级到版本或更高版本。
有什么解决方案吗?
编辑 3:phpPgAdmin 再次积极开发!如果您下载最新版本,它支持 PostgreSQL 最多 v11.x
http://phppgadmin.sourceforge.net/doku.php?id=download https://github.com/phppgadmin/phppgadmin
phpPgAdmin 多年未得到积极开发。它仍然是 PostgreSQL 的一个很好的接口,但不幸的是它们只正式支持 9.2。我注意到最新版本仍然可以运行到 9.6,至少它在过去 6 个月的生产环境中,并且在此之前使用我拥有的任何东西(9.4 / 9.5?)多年。
我建议改为安装 9.6,然后从那里开始。
编辑:如果您热衷于使用 v10,那么您仍然可以使用 pgAdmin 4 作为界面,尽管这不是基于网络的。
参考:Official phpPgAdmin Website
EDIT2:请参阅 DTouch 的答案以获得良好的解决方法
其实你还是可以手动修改这个文件的:
classes/database/Connection.php
// Detect version and choose appropriate database driver
switch (substr($version,0,3)) {
case '9.5': return 'Postgres'; break;
case '9.4': return 'Postgres94'; break;
case '9.3': return 'Postgres93'; break;
case '9.2': return 'Postgres92'; break;
case '9.1': return 'Postgres91'; break;
case '9.0': return 'Postgres90'; break;
case '8.4': return 'Postgres84'; break;
case '8.3': return 'Postgres83'; break;
case '8.2': return 'Postgres82'; break;
case '8.1': return 'Postgres81'; break;
case '8.0':
case '7.5': return 'Postgres80'; break;
case '7.4': return 'Postgres74'; break;
}
switch (substr($version,0,4)) {
case '10.1': return 'Postgres'; break;
}
未完全测试,但所有主要功能都可以正常工作。
或者创建您自己的 https://github.com/phppgadmin/phppgadmin 和 create/fix 几个文件的分支以实现全面支持。
在 phppgadmin 文件夹中编辑文件 classes/database/Connection.php
在这一行之后添加: 案例'7.4':return 'Postgres74';打破;
键入或copy/paste此文本: 默认值:return 'Postgres';打破;
瞧瞧!
为了更清楚,完整路径是/usr/share/phppgadmin/classes/database/Connection。php
您也可以简单地添加
default: return 'Postgres'; break;
在 switch 语句的末尾。
还需要登录的用户名应该是"postgres"。没有很好的记录。
在目录classes/database中 调整文件 connection.php 开关 (substr($version,0,3)) {
case '9.2': return 'Postgres'; break;
case '9.1': return 'Postgres91'; break;
case '9.0': return 'Postgres90'; break;
case '8.4': return 'Postgres84'; break;
case '8.3': return 'Postgres83'; break;
case '8.2': return 'Postgres82'; break;
case '8.1': return 'Postgres81'; break;
case '8.0':
case '7.5': return 'Postgres80'; break;
case '7.4': return 'Postgres74'; break;
default: return 'Postgres'; break;
}
它也适用于版本 10,没有问题。
当您收到以下错误消息时,这也解决了问题: 未定义的变量:postgresqlMinVer 不支持的 PostgreSQL 版本。请升级到版本或更高版本。
如果您正在使用 docker(使用我的 phppgadmin 分支,因为它修复了与较新的 posrgres 的兼容性):
FROM php:8-fpm-alpine
RUN apk add --no-cache --virtual \
.build-deps git autoconf g++ make postgresql-dev \
&& docker-php-ext-install pgsql \
&& docker-php-ext-enable opcache \
&& apk add libpq ca-certificates curl apache2-proxy \
&& rm -rf /var/www/localhost/.git/ /var/www/localhost \
&& git clone https://github.com/idontusenumbers/phppgadmin.git /var/www/localhost/htdocs \
&& rm -rf /var/www/localhost/.git/ \
&& apk del .build-deps \
&& rm -rf /tmp/* \
&& rm -rf /var/cache/apk/* \
&& rm /etc/init.d/apache2
RUN echo "ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/localhost/htdocs/" >> /etc/apache2/httpd.conf
RUN echo "DirectoryIndex index.php" >> /etc/apache2/httpd.conf