我试图用我的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) 我正在尝试制作一个 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() 方法,但没有任何反应。
一些附加信息