致命错误:未捕获错误:调用未定义的函数 pg_connect()
我使用php8和apache2.4服务器,cockroachdb作为云数据库。现在我已经取消注释这些:extension=pdo_pgsql、extension=pgsql,并设置extension_dir = "C:\php xt" 已经但没有工作。现在我尝试取消注释其他扩展,例如(extension=odbc、extension=openssl 等),它们起作用了。我认为 extensio 可以工作,但不仅仅适用于 extension=pdo_pgsql 和 extension=pgsql。我需要安装 postgresql 应用程序吗?请帮助我尽我所能来解决这个问题。也去了几个论坛。蒂亚。
在 PHP 中,模块加载错误是软错误。应该有日志行指示出了什么问题,但是应用程序在尝试通过调用
pg_connect()
使用该模块之前不会失败。
pdo_pgsql 模块依赖于 libpq.dll。我从 https://windows.php.net/download/ 下载了 PHP 的 Windows 版本。该 zip 包含 libpq.dll,但它位于 zip 的根目录而不是 ext 目录中,这可能就是为什么将“C:\php xt”添加到路径不足以解析模块的原因。
此堆栈溢出答案https://stackoverflow.com/a/7438157/27343987包含用于对 pg 模块进行故障排除的 Windows 特定说明