CWP面板中phpPgAdmin无法使用:PHP不支持PostgreSQL问题求助
解决CWP面板中phpPgAdmin提示“服务器的PHP配置不支持PostgreSQL”的问题
问题场景
在VPS上使用CWP面板,访问https://hostname:2031/phpPgAdmin/时收到错误提示:
服务器的PHP配置不支持PostgreSQL,需要使用--with-pgsql配置选项重新安装PHP
已尝试以下操作但未解决:
- 使用PHP7.4.3,在CWP控制面板启用了pdo_pgsql、pgsql扩展;
- 安装了php-pgsql、php-pdo包;
- 在
/usr/local/php/php.ini文件中取消注释extension=pdo_pgsql、extension=pgsql(注:原操作中的extension=_pgsql为笔误,正确应为extension=pgsql); - 重新加载了Apache、Nginx、PostgreSQL服务。
解决方案
1. 确认PHP版本一致性及扩展状态
- 登录CWP面板,进入
PHP Settings > PHP Version Switcher,检查系统默认PHP版本与phpPgAdmin使用的PHP版本是否一致(CWP可能为面板服务分配单独的PHP实例); - 执行命令:
php -v查看CLI端PHP版本,同时创建info.php文件(内容为<?php phpinfo(); ?>)并访问,对比网页端PHP版本,确认pgsql和pdo_pgsql是否出现在已加载扩展列表中。
2. 重新编译PHP并添加PostgreSQL编译选项
CWP的PHP编译工具可直接配置编译参数:
- 进入CWP面板
PHP Settings > PHP Compiler; - 选择PHP7.4.3版本,在
Configure Options中添加:--with-pgsql --with-pdo-pgsql; - 点击
Compile PHP启动编译,完成后重启Apache/Nginx服务。
3. 检查CWP面板服务的PHP配置文件
phpPgAdmin属于CWP面板服务,可能使用独立的PHP配置而非全局/usr/local/php/php.ini:
- 找到CWP面板服务的PHP配置文件,通常路径为
/usr/local/cwpsrv/etc/php.ini; - 在该文件中取消注释
extension=pdo_pgsql和extension=pgsql; - 重启CWP面板服务:
service cwpsrv restart
4. 安装PostgreSQL开发依赖库
编译PHP时需要PostgreSQL头文件支持,执行对应系统的安装命令:
- CentOS/RHEL系统:
yum install postgresql-devel -y - Debian/Ubuntu系统:
apt-get install libpq-dev -y - 安装完成后重新编译PHP,确保编译过程无报错。
5. 验证扩展加载状态
编译完成后执行命令:php -m | grep pgsql,若输出pgsql和pdo_pgsql则说明扩展加载成功;同时再次查看phpinfo页面确认扩展已正常加载。
内容的提问来源于stack exchange,提问作者ibrahim shazly
相关产品推荐
相关产品推荐

