SQLSTATE [28000] [1045] (Magento) Доступ запрещен для пользователя .. (но новый PDO работает в тестовой программе) - PullRequest
0 голосов
/ 11 марта 2012

Я скопировал магазин 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

Ответы [ 2 ]

4 голосов
/ 11 марта 2012

вы пробовали:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'your_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

или

GRANT ALL PRIVILEGES ON your_database.* TO 'user_name'@'localhost' IDENTIFIED BY 'your_password' WITH GRANT OPTION;

если вы указали BIND ADDRESS в файле my.cnf, который является IP-адресом, вы должны использовать IP-адрес вместо localhost

0 голосов
/ 14 марта 2012

Спасибо за все ответы, но решение было простым.

На сайте предыдущего провайдера был правильный пароль в local.xml

Но пароль, данный мне по электронной почте, был неверным, но его невозможно увидеть (маленькая буква L и заглавная буква i, то есть l и I). Поэтому я смешал эти пароли.

Урок: проверяйте много раз ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...