Я скопировал магазин Magento другому провайдеру и установил базу данных. Ничего особенного.
При тестировании всегда эта ошибка для базы данных mysql:
SQLSTATE[28000] [1045] Access denied for user ‘xx’@’localhost’ (using password: YES)
Я нашел эту программу /httpdocs/lib/Zend/Db/Adapter/Pdo/Abstract.php
и имеет следующее утверждение:
try {
$this->_connection = new PDO(
$dsn,
$this->_config[’username’],
$this->_config[’password’],
$this->_config[’driver_options’]
);
Если я использую тот же оператор с теми же настройками в короткой тестовой программе на том же сервере, соединение работает.
Как это возможно? Есть ли что-то другое в PDO, работающем при вызове в Magento?
Я забыл написать, у этого домена есть только общий IP-адрес и имя домена (но еще нет DNS), поэтому я связал этот IP-адрес с этим именем домена в файле хостов Windows. Таким образом, домен www.xxxx.com уже существует в Интернете, я использую xxxx.com в файле хоста Windows, связанном с общим IP-адресом. Таким образом, я всегда тестировал новые сайты без перенесенного домена.
Когда я копирую все на свой собственный сервер (localhost.com для Magento), я должен найти его, все работает хорошо. Так что это как-то связано с ситуацией у моего провайдера ... но почему он работает в моей собственной тестовой программе для PDO с такими же настройками?
$ dsn = mysql: model = mysql4; initStatements = SET NAMES utf8; тип = pdo_mysql; хост = localhost; dbname = xxxx; активный = 1