【问题标题】:PDO Exception SQLSTATE[HY000] [2002] Connection timed out with Elastic Beanstalk and RDS on Yii2PDO 异常 SQLSTATE[HY000] [2002] Yii2 上的 Elastic Beanstalk 和 RDS 连接超时
【发布时间】:2017-11-09 16:12:44
【问题描述】:

我已经在 AWS Elastic Beanstalk 上部署了一个基于 Yii2 的应用程序,我还在 Elastic Beanstalk 上创建了带有数据库(它已经有表)的 RDS 实例。所有文件均已正确上传到 AWS 实例。

文件 /common/config/main-local.php 有:

'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=myConnection_string:3306;myDB',
            'username' => 'myUsername',
            'password' => 'myPassword',
            'charset' => 'utf8',
        ],

怎么了?谢谢。

【问题讨论】:

    标签: amazon-web-services yii2 amazon-elastic-beanstalk rds


    【解决方案1】:

    我通过在 EC2>Network&Security>Security Groups>Edit inbound rules 上更改为“所有流量”解决了这个问题。

    我还在 AWS 上设置了变量并将脚本更改为:

    'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=',
            'dsn' => 'mysql:host='.$_SERVER['RDS_HOSTNAME'].':'.$_SERVER['RDS_PORT'].';dbname='.$_SERVER['RDS_DB_NAME'],
            'username' => $_SERVER['RDS_USERNAME'],
            'password' => $_SERVER['RDS_PASSWORD'],
            'charset' => 'utf8',
        ],
    

    这个答案对我帮助很大:How to connect to an RDS database from Yii2?

    【讨论】:

    • 允许“所有流量”进入数据库是非常糟糕的做法。请不要这样做。
    猜你喜欢
    • 2019-11-29
    • 2017-10-19
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 2019-02-07
    • 2015-10-21
    相关资源
    最近更新 更多