phpPgAdmin安全限制无法登录及Deprecated错误求助
一、安全限制无法登录的修复步骤
完善phpPgAdmin核心配置
打开C:\xampp\phppgadmin\conf\config.inc.php,补充/调整以下配置项:$conf['servers'][0]['auth_type'] = 'password'; $conf['servers'][0]['allow_password_change'] = true; $conf['servers'][0]['hide_password'] = false;确保
$conf['extra_login_security'] = false;已正确设置,保存文件。修正PostgreSQL本地连接权限
找到PostgreSQL安装目录下的data/pg_hba.conf(示例路径:C:\Program Files\PostgreSQL\14\data\pg_hba.conf),修改本地IPV4和IPV6的连接规则:host all all 127.0.0.1/32 scram-sha-256 host all all ::1/128 scram-sha-256若PostgreSQL版本较低,可将
scram-sha-256替换为md5。修改后重启PostgreSQL服务。确认Apache目录权限配置
检查C:\xampp\apache\conf\extra\httpd-xampp.conf中的phpPgAdmin配置,确保权限规则完整:Alias /phppgadmin "C:/xampp/phpPgAdmin/" <Directory "C:/xampp/phpPgAdmin"> AllowOverride All Require all granted Options Indexes FollowSymLinks </Directory>保存后重启Apache服务。
验证PostgreSQL服务状态
确保PostgreSQL服务处于运行状态,可通过Windows服务列表或命令行net start postgresql-x64-14(根据自身版本调整)启动服务。
二、Deprecated错误的修复方案
这类错误源于phpPgAdmin版本与XAMPP中PHP版本(多为PHP 8.x+)不兼容,有两种解决方式:
方式1:屏蔽Deprecated警告
打开C:\xampp\php\php.ini,修改错误报告配置:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
保存后重启Apache,即可屏蔽废弃函数的警告信息。
方式2:升级phpPgAdmin到兼容版本
- 下载与当前PHP版本匹配的phpPgAdmin稳定版(支持PHP 8.x的最新版本);
- 备份XAMPP目录下的
phpPgAdmin文件夹; - 将下载的新版本解压后替换原
phpPgAdmin目录; - 重新复制并修改
config.inc.php-dist为config.inc.php,配置好PostgreSQL相关路径和连接信息。
额外验证
可新建phpinfo.php文件(内容为<?php phpinfo(); ?>)并访问http://localhost/phpinfo.php,查看是否存在pgsql和pdo_pgsql模块,确认扩展已正确加载。
内容的提问来源于stack exchange,提问作者MJM

