我从 a Zend Framework 2 tutorial application. 连接到我的 Amazon RDS 数据库时遇到问题
我不断收到以下错误:
PDOException: SQLSTATE[28000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES) in C:\wamp\www\zf2-tutorial\vendor\ZendFramework\library\Zend\Db\Adapter\Driver\Pdo\Connection.php on line 214
我使用 MySQL Workbench 或 Toad 连接到数据库没有问题,因此我认为数据库安全组不是问题所在。此外,PHP 应用程序也可以很好地连接到本地数据库。
我想知道为什么错误消息显示db_user'@'localhost
。难道不应该是 db_user'@'RDS 主机 url
吗?
我的连接字符串是:
'driver' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:hostname=xxxxxxxx.xxxxxxxxx.us-east-1.rds.amazonaws.com;dbname=zf2-tutorial',
'username' => 'db_user',
'password' => 'xxxxxxx',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
最佳答案
事实证明,问题出在 dsn 字符串中,与其他 MySQL 服务器不同,Amazon RDS 不理解“主机名”。如果更改为“主机”,它就可以正常工作!
'dsn' => 'mysql:主机=xxxxxxxx.xxxxxxxxx.us-east-1.rds.amazonaws.com;dbname=zf2-tutorial',
感谢您的所有建议。
关于php - Amazon RDS 和 Zend Framework 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10475398/