我正在使用 postgres 作为数据库开发 Laravel 5。我已经配置了 postgres 9.4 和 pgAdmin III,它们工作正常。当我尝试运行 migrate 时出现错误:
[PDOException]
could not find driver
这是我的database.php
'default' => 'pgsql',
'pgsql' => [ 'driver' => 'pgsql',
'host' => '127.0.0.1',
'database' => 'fms',
'username' => 'postgres',
'password' => 'root',
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public', ],
最初我虽然,这是由于 postgres 在 Windows 7 上的配置,但我尝试使用普通的 php 它工作完美
<?php
$host = "host=127.0.0.1";
$port = "port=5432";
$dbname = "dbname=fms";
$db = pg_connect( "$host $port $dbname user=postgres password=root" );
if(!$db){
echo "Error : Unable to open database\n";
} else {
echo "Opened database successfully\n";
}
?>
我也在 wamp 中启用了 php_pgsql 和 php_pdo_sql。我不确定如何在 Laravel 5 上解决这个问题。
最佳答案
正如您所说,您已经选择默认数据库作为 Postgres SQL
'default' => 'pgsql',
您必须在 php 配置设置中取消注释 pdo 和 postgres 共享对象 (php.ini)
即,您需要取消注释 php.ini 中的以下行
extension=pdo_pgsql.so
extension=pgsql.so
注意:
不要忘记在完成此更改后停止并启动您的 apache
(或者 php-fpm
,如果使用它的话)。
关于php - Laravel 5 与 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30480385/