首页 > 解决方案 > PHP CLI:pdo_pgsql 不存在

问题描述

我浏览了几乎所有类似的问题,但似乎无法为我的安装找到正确的答案。我已经重新安装了我的电脑,我正在尝试在 php-cli 中启用 pdo_pgsql。我在 Windows 10 上并安装了 wampserver64,可以很好地使用。

我通常使用 cakePHP 作为框架,使用 Postgre 作为数据库。

在 Cake PHP 中,您可以使用控制台“烘焙”任何东西。

在尝试烘焙一些模型时,我遇到了关于烘焙的依赖问题。

pdo_pgsql 扩展在 PHP 主文件 php.ini 中启用,但未在 php-cli 模式下加载,这会导致蛋糕烘烤错误。


这是 php --ini 命令的结果:

Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File:         C:\wamp64\bin\php\php7.0.33\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

这是 php -m 命令的结果:

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gettext
gmp
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib

这是 php --ri pdo_pgsql 命令的结果:

php --ri pdo_pgsql
Extension 'pdo_pgsql' not present.

快速回顾我的安装:

Windows 10
Wampserver64 
POSTGRESQL 9.6
PHP 7.0.33
APACHE 2.4.4

我已经检查了不同的解决方案,例如通过 httpd.conf 中的 LoadFile 从 postgresql bin 目录添加“libpq.dll”,我还测试了从同一文件中的 php 目录加载“libpq.dll”,到目前为止没有结果。

谁能指点我一个方向?

标签: phppostgresqlcakephp

解决方案


取消注释 php.ini 中的扩展名并编辑httpd.conf并在所有 LoadModule 行的顶部添加以下内容:

LoadFile "actual_path_of_libpq.dll"

重新启动服务器,看看它是否有效。

签入phpinfo()


推荐阅读