我将我的 Symfony 2 网站连接到 MySQL 数据库,一切都找到了,但是在更改与主机提供商的契约(Contract)后,我需要使用新名称在新数据库上更新我的数据。我创建了新的数据库,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('Doctrine\DBAL\Driver\PDOStatement', 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
关于php - Symfony错误: Cannot connect to DB after DB update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45781314/