PDO异常“找不到驱动程序”(pgsql)
我下载并安装了随Stackbuilder附带的PostgreSQL 9.2.3。PDO异常“找不到驱动程序”(pgsql)
我使用PostgreSQL Stackbuilder安装Apache(2.2.22)& PHP(5.4.5)。
现在我试图用PDO连接到数据库,但我得到driver not found
错误。
我在我的php.ini文件中未评论extension=php_pgsql.dll
& extension=php_pdo_pgsql.dll
。
我的phpinfo();函数显示它们已启用。
我注意到最主要的是,我的PHP \目录中没有分机\目录中的这些文件。我假定这些文件已经被自动安装到一个php \子目录中。
这些扩展名可以存储在哪里;我需要指定一个绝对路径的PHP来找到它们吗?
更新: 所以我去了php.ini,并打开启动错误。当我启动命令行php.exe时,出现错误提示找不到php_pgsql.dll & php_pdo_pgsql.dll。
看起来他们试图在D:驱动器上引用它们,但我没有。我将所有内容安装到E:驱动器上的同一目录中。我无法在任何地方找到扩展名(也无法使用php)。
在WAMP(窗口)...
副本C:\wamp\bin\php\php5.x.xx\libpq.dll
贴在C:\Windows\System32\
请为此添加一些解释。 – 2014-09-08 20:50:35
,有2个文件php.ini文件,你将不得不检查PostgreSQL扩展是双方! 延长线是
extension=php_pdo_pgsql.dll
所以检查
C:\wamp\bin\apache\apache2.4.9\bin\php.ini
上
C:\wamp\apache\apache2.4.9\bin\php.ini
还要检查将延伸线后,重新启动Apache,它会工作。
你的连接字符串是什么样的? – dlp 2013-03-27 19:18:56
我已经在配置文件中定义了常量。如果我回显它看起来像这样:'“pgsql:host = localhost; port = 5432; user = postgres; password = postgres; dbname = Test”' – Roy 2013-03-27 19:33:17
这看起来像是从构建服务器,而不是一个将永远安装在您的本地系统上。奇怪的。你系统上的php_pdo_pgsql.dll在哪里?它是否或它在'php.ini'中列出的文件夹在任何地方?或者在PATH上? – 2013-03-28 00:39:53