>我把我的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 失败:名称或服务在/homepages/37/d627732413/htdocs/billetterielouvre/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php 第 43 行中未知
这部分对应:
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('DoctrineDBALDriverPDOStatement', array()));
$this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $exception) {
throw new PDOException($exception);
}
}
我通过服务器上的ssh清除了缓存,但仍然发生此错误。有没有人有想法来帮助我找到需要修复的地方?
谢谢!
您应该清理缓存。
rm -rf app/cache/*
新提供商是否允许从外部网络进行连接?
尝试用普通的旧PHP创建一个脚本,看看是否可以连接
使用服务器上的SSH,可以解析数据库的主机吗?尝试nslookup newdbhostname.db.1and1.com
,然后telnet newdbhostname.db.1and1.com 3306