我想知道symfony 1.4是否可以在其他地方设置数据库连接密码(和用户名),或者是否有可能以某种方式加密这些数据。
要求它的客户说它结果不安全,所以我正在寻找另一种方法来做到这一点。
感谢。
答案 0 :(得分:0)
您可以在yml文件中使用php:
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: '<?php echo DSN_CONSTANT ?>'
username: '<?php echo $_ENV['DB_USERNAME'] ?>'
password: '<?php echo $_ENV['DB_PASSWORD'] ?>'
编辑:
上述方法将在php文件中存储文件系统的凭据。如果您想阻止这种情况,请将class
更改为您自己的,扩展它,并以您想要的任何其他方式检索凭据,例如,环境变量:
class MyDoctrineDatabase extends sfDoctrineDatabase {
public function initialize($parameters = array())
{
$parameters['dsn'] = $_ENV['DSN'];
$parameters['username'] = $_ENV['DB_USERNAME'];
$parameters['password'] = $_ENV['DB_PASSWORD'];
return parent::initialize($parameters);
}
}