Я настраиваю Symfony2 и, как часть процесса, впервые использую расширение PDO. У меня все в порядке, но у меня проблема с указанием имени хоста в DSN. Хост MySQL находится на другом сервере, и я включил его в DSN (скажем, «beta.example.com»). Однако возвращаемое сообщение об ошибке всегда говорит о том, что на локальном сервере был получен ответ об отказе в доступе (например, «alpha.example.com»).
Просто обратите внимание: сервер MySQL работает локально (на «alpha.example.com»), следовательно, сообщение об отказе в доступе, но то, что мне нужно использовать, работает на beta.example.com.
Мой DSN:
mysql:host=beta.example.com;port=3306;dbname=testdb;charset=UTF8
Вот снимок экрана с приложенной точной ошибкой (с именами хостов, измененными в соответствии с моими примерами выше):
https://skitch.com/nathanntg/gbrhx/pdo-exception
И это не связано с Symfony, это происходит, если я напрямую вызываю создание PDO из пустого файла PHP:
<?
$a = new PDO('mysql:host=beta.example.com;port=3306;dbname=testdb;charset=UTF8', 'testuser', 'password');
?>
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[28000] [1045] Access denied for user 'testuser'@'alpha.example.com' (using password: YES)' in -:2
Stack trace:
#0 -(2): PDO->__construct('mysql:host=beta…', 'testuser', 'password')
#1 {main}
thrown in - on line 2
Любая помощь очень ценится!