Doctrine控制台错误SQLSTATE [7006] [7]致命:用户“SYSTEMUSER”的身份验证失败

时间:2015-12-21 18:30:42

标签: php postgresql doctrine-orm laravel-5 ubuntu-14.04

我用PHP 5.6.16,laravel / framework 5.1和doctrine / orm 2.5创建了一个作曲家项目。

已安装Postgresql 9.4和Postgres Admim 3.

创建一个管理员角色,一个带有测试表的测试数据库。将数据库和表的所有权限授予admin角色。

$host   = 'localhost';
$dbname = 'test';
$dbuser = 'admin';
$dbpass = 'secret';

$connection = new PDO("pgsql:dbname=$dbname;host=$host", $dbuser, $dbpass);
if ($connection) {
   $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
   $collection = $connection->query('select * from test');
   foreach ($collection as $row) {
      var_dump($row);

一切正常。

我创建了一个cli-config.php文件,该文件使用相同的设置从laraval框架加载数据库配置文件,通过服务提供程序创建一个EntityManager并返回一个控制台运行程序:

$provider      = new App\Providers\DoctrineServiceProvider($app);
$entityManager = $provider->getEntityManager();

return \Doctrine\ORM\Tools\Console\ConsoleRunner::createHelperSet($entityManager);

我确定EntityManager已经创建,我确信使用了正确的数据库配置。

当我运行“vendor / bin / doctrine orm:validate-schema”时,我得到了一个例外:

  

[Doctrine \ DBAL \ Exception \ ConnectionException]发生异常   driver:SQLSTATE [7] [7]致命:身份验证失败   用户“SYSTEMUSER”

     

[Doctrine \ DBAL \ Driver \ PDOException] SQLSTATE [08006] [7]致命:识别   用户“SYSTEMUSER”的身份验证失败

     

[PDOException] SQLSTATE [7]致命:身份验证失败   对于用户“SYSTEMUSER”

并非异常消息上的用户与使用的角色不同。 SYSTEMUSER等同于我的Ubuntu用户。

我将dbuser更改为postgres,我得到了同样的例外。

有人有这方面的线索吗?

0 个答案:

没有答案