我将我的Symfony 2网站连接到MySQL数据库,一切都找到了,但在与我的主机提供商更改合同后,我需要在新数据库上更新我的数据,并使用新名称。我创建了新的数据库,php myAdmin向我展示了那一切都很好。
我在symfony项目中更新了paramaters.yml文件:
parameters:
database_host: newdbhostname.db.1and1.com
database_port: 3306
database_name: newdbname
database_user: newdbusername
database_password: **********
mailer_transport: mail
mailer_host: null
mailer_user: null
mailer_password: null
secret: *sameasbefore*
但从那以后,我无法连接到数据库,并且出现了这个奇怪的错误:
警告:PDO :: __ construct():php_network_getaddresses:getaddrinfo failed:/ homepages / 37 / d627732413 / htdocs / billetterielouvre / vendor / doctrine / dbal / lib / Doctrine / DBAL / Driver / PDOConnection中未知的名称或服务。第43行的php
这部分对应于:
public function __construct($dsn, $user = null, $password = null, array $options = null)
{
try {
LINE 43 --> parent::__construct($dsn, $user, $password, $options);
$this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('Doctrine\DBAL\Driver\PDOStatement', array()));
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (\PDOException $exception) {
throw new PDOException($exception);
}
}
我通过服务器上的ssh清除了缓存,但仍然会发生此错误。有没有人有想法帮助我找到需要修复的东西?
谢谢!
答案 0 :(得分:1)
您应该清理缓存。
rm -rf app/cache/*
新提供商是否允许从外部网络连接?
尝试使用普通的旧PHP创建脚本,看看是否可以连接
在服务器上使用SSH,您可以解析数据库的主机吗?尝试nslookup newdbhostname.db.1and1.com
,然后telnet newdbhostname.db.1and1.com 3306