You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用pg_connect()失败求助:PHP8+Apache2.4+CockroachDB环境问题

解决 Call to undefined function pg_connect() 问题

针对你的环境(PHP 8 + Apache 2.4 + CockroachDB),以下是具体排查和解决步骤:

  • 确认扩展文件兼容性
    确保php_pgsql.dll和php_pdo_pgsql.dll与你的PHP版本完全匹配:

    • 对应PHP的线程安全(TS)/非线程安全(NTS)版本(Apache环境必须用TS版本)
    • 对应编译时的VC版本(PHP 8通常为VC16)
      若扩展文件不匹配,即使php.ini取消注释也无法加载。
  • 补充依赖库libpq.dll
    不需要安装完整的PostgreSQL应用,但pgsql扩展依赖PostgreSQL的libpq.dll库:

    1. 从PostgreSQL官网下载对应版本的二进制文件压缩包(无需安装)
    2. 解压后找到bin目录下的libpq.dll
    3. 将其复制到PHP的根目录(或系统C:\Windows\System32目录,确保在PATH环境变量中)
      这是多数人忽略的关键步骤,缺少该库会直接导致扩展加载失败。
  • 验证PHP配置文件是否生效
    创建包含<?php phpinfo(); ?>的文件,访问后检查:

    • 通过Loaded Configuration File项确认修改的是Apache实际使用的php.ini
    • 搜索pgsql和pdo_pgsql,查看是否有模块信息。若没有,说明扩展未加载,继续排查。
  • 查看错误日志定位原因
    查看Apache的错误日志(通常在Apache24\logs\error.log)或PHP的错误日志,里面会记录扩展加载失败的具体原因(如文件缺失、依赖错误等),根据日志信息针对性解决。

  • 重启Apache服务
    每次修改php.ini或替换扩展文件后,必须重启Apache才能生效,不要遗漏这一步。

内容的提问来源于stack exchange,提问作者NOOB14

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 07:17:06