php - Laravel 5 与 PostgreSQL

标签 php postgresql laravel pdo laravel-5

我正在使用 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_pgsqlphp_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/

相关文章:

php - 当我使用 PHP 发送推送通知消息时获取反斜杠 (\) 和撇号 (')

php - 在 php 中使用 in_array 时缺少一个值

php - 在 GIT 控制的 Intranet 上使用 GIT/BitBucket 进行持续集成

php - 使代码更高效,减少复制粘贴

Django:按月分组后只计算最新的对象

php - Laravel 将访问器传递给 vue

postgresql - 尝试将 pgAdmin 中的列数据类型从 varchar 转换为整数时遇到问题(SQL 状态 : 22P02)

python - 将整个 Excel 文件导出为 CSV

Laravel 5 通过sendinblue重置密码

php - 如何按多列对 Laravel 查询构建器结果进行排序?