我正在尝试在Windows10 64位(WAPP)上使用pgsql扩展。
我有:
重新启动Apache
php.ini中取消注释所有postgresql扩展
使用LoadFile加载pgsql.dll
pgsql.dll移动到Apache bin(我尝试了php文件夹和postgresql中的dll)
但还是没有结果。
pgsql仅在php.exe -m中可见,但在phpinfo()extension_loaded()get_loaded_extensions()中不可见。
我的php版本是7.1.8,PostgreSQL是9.6,Apache是2.4.27
Myphp.exe -m输出:
php - pgsql扩展未加载-LMLPHP
有什么问题吗?

最佳答案

[已解决]
好吧,经过几个小时的查找,我发现了问题,并且能够解决phpinfo()中没有显示的pdo_pgsql和pgsql模块的问题。
[解决方案]
在php.ini中取消注释扩展后,进入httpd.conf并在所有LoadModule行的顶部添加以下内容:
LoadFile“C:/程序文件/PostgreSQL/9.6/bin/libpq.dll”
(假设您使用的是PostgreSQL的最新版本,否则请将数字更改为您正在使用的版本)。
保存并重新启动Apache。转到phpinfo()将看到它已加载。
[原因]
即使将libpg.dll复制到Apache/bin文件夹中,Apache也无法看到它。
[环境]
Windows Server 2016(也适用于Windows 10)
阿帕奇2.4.26
(x64)PHP 7.1.8(x64螺纹安全VC14)
PostgreSQL 9.6.4(x64)

关于php - pgsql扩展未加载,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45675974/

10-13 01:19