小编mil*_*osa的帖子

Postgres密码验证失败

我试图用我的Windows机器上的postgres用户登录到Pgadmin的服务器.

但它一直给我这个错误:

psql: FATAL:  password authentication failed for user "postgres"
Run Code Online (Sandbox Code Playgroud)

那么我尝试使用psql从命令行登录,这给了我同样的错误.然后,在将pg_hba.conf中的本地条目置于信任之后,我使用psql将密码重置为'test'.然后我将条目放回md5,并尝试使用密码'test'登录.

在psql中我使用了以下命令:

ALTER ROLE postgres WITH PASSWORD 'test';
ALTER ROLE postgres PASSWORD 'test';
ALTER USER postgres WITH PASSWORD 'test';
ALTER USER postgres PASSWORD 'test';
Run Code Online (Sandbox Code Playgroud)

而这个特殊的psql命令

\password
Run Code Online (Sandbox Code Playgroud)

每次,我都将pg_hba.conf本地条目返回到md5,并尝试使用psql登录:

psql -U postgres
Run Code Online (Sandbox Code Playgroud)

然后我被要求输入密码.输入'test'后,psql给出了与前面提到的相同的错误.

当然,我在每次更改pg_hba文件后重新启动postgresql.我正在使用psql和'su postgres'.

因此,即使我能够以通常的方式更改密码,也不接受密码.

我希望有人能够帮助我.

一些信息:

Postgresql 9.1 Ubuntu 12.04

Pg_hba文件(根据要求)

local   all             postgres                                md5

local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

host    all             all …
Run Code Online (Sandbox Code Playgroud)

postgresql

51
推荐指数
3
解决办法
13万
查看次数

如何将实际的 ENV var 值加载到我的包配置中?

我正在尝试制作一个 Symfony 包。但是我无法读取我在配置中使用的 ENV 变量。(它们仅作为占位符加载)我创建了一个配置树,其中包含一些我希望应用程序与 ENV 变量一起使用的值。

应用程序配置文件如下所示:

bundle_name:
    config_value: "%env(NAME_OF_ENV_VALUE)%"
Run Code Online (Sandbox Code Playgroud)

我的 Bundle 扩展类看起来像:

public function load(array $configs, ContainerBuilder $container): void
{
    $loader = new XmlFileLoader(
        $container,
        new FileLocator(__DIR__.'/../Resources/config')
    );

    $configuration = new Configuration();
    $loader->load('services.xml');
    $config = $this->processConfiguration($configuration, $configs);

    print_r($config);
}
Run Code Online (Sandbox Code Playgroud)

结果print_r($config)如下:

 [config_value] => env_NAME_OF_ENV_VALUE_2ae7ade5b0635007828f2e7e6765cd4d
Run Code Online (Sandbox Code Playgroud)

另外,我收到此异常:

环境参数异常

从不使用环境变量“ENV_VAR_NAME”。请检查您的容器的配置。在 PhpDumper.php 中(第 271 行)

现在,我的问题是

我如何(结果是ENV 占位符)转换为 ENV 变量的实际值?

我尝试过的一些事情

我知道有一个ContainerBuilder->compile(true)选项可以解决这些 ENV 变量。但我不知道我应该把它放在我的包里的什么地方。我试过的一切都会出错。

我也知道有一个 CompilerPass (Symfony\Component\DependencyInjection\Compiler\ResolveEnvPlaceholdersPass) 它(根据名称)应该解析环境变量,但这没有做任何事情。我尝试添加$container->addCompilerPass(new ResolveEnvPlaceholdersPass());到我的 Bundle 类的 build() 方法,但没有任何反应。

一些附加信息

  • 我正在使用 …

php environment-variables symfony symfony4

6
推荐指数
1
解决办法
2199
查看次数