我试图将PostgreSQL与Yii连接,但正在显示
CDbConnection无法打开数据库连接。
在日志中显示
error exception.CDbException
无法找到驱动程序
我的代码
'db'=>array(
'tablePrefix'=>'',
'connectionString' => 'pgsql:host=localhost;port=5432;dbname=postgres',
'username'=>'postgres',
'password'=>'postgres',
'charset'=>'UTF8',
),
答案 0 :(得分:2)
Yii数据库组件构建于PHP PDO之上。以下是要检查的可能性列表
检查PostgreSQL和PostgreSQL的PDO扩展是否已安装并正常工作。该港口也是正确的。您可以测试简单的PHP Script to test。
以下是可能类似的内容的链接
PostgreSql 'PDOException' with message 'could not find driver'
PDOException “could not find driver”
在Linux上安装PDO(Ubuntu / Debian)
Install pdo for postgres Ubuntu
https://serverfault.com/questions/89970/how-to-install-postgresql-extension-for-pdo-in-linux
<强>窗强>
http://blog.lysender.com/2010/08/php-and-postgresql-on-windows/
Apache php 5.3 postgreSQL driver could not be loaded
有关问题的官方PHP信息
答案 1 :(得分:1)
通过添加
解决了问题LoadFile "C:/wamp/bin/php/php5.3.5/libpq.dll"
到httpd.conf文件。现在phpinfo()正在显示pgsql PDO。
感谢...
答案 2 :(得分:1)
如果你在ubuntu工作,请确保你已经安装了pgsql库
sudo apt-get install php-pgsql
sudo service apache2 restart
确保在控制台和main-local中有这个数组
'components' => [
'log' => [
'targets' => [
[
'class' => 'yii\log\FileTarget',
'levels' => ['error', 'warning'],
],
],
],
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'pgsql:host=localhost;port=5432;dbname=yourdb',
'username' => 'user',
'password' => 'pw',
'charset' => 'utf8',
],],
答案 3 :(得分:0)
就我而言,这是在WAMP中启用php_pdo_pgsql
扩展名
答案 4 :(得分:0)
对于那些遇到同样问题的人,我做了相关工作。 环境 Yii2 服务器:LAMP协议栈7.1 问题找不到驱动程序,即“ requirements.php”显示警告 “ PDO PostgreSQL扩展警告PostgreSQL数据库需要所有与DB相关的类。” 我注意到pdo_pgsql.so没有与bitnami打包在一起,所以我在线搜索它或尝试查找是否已安装在/ usr / lib / php
中的任何php版本上