Amazon web services PDO异常SQLSTATE[HY000][2002]与Yi2上的Elastic Beanstalk和RDS的连接超时

Amazon web services PDO异常SQLSTATE[HY000][2002]与Yi2上的Elastic Beanstalk和RDS的连接超时,amazon-web-services,yii2,amazon-elastic-beanstalk,rds,Amazon Web Services,Yii2,Amazon Elastic Beanstalk,Rds,我已经在AWS Elastic Beanstalk上部署了一个基于Yi2的应用程序,并且在Elastic Beanstalk上创建了RDS实例,其中包含一个数据库(它已经有表)。所有文件都已正确上载到AWS实例 文件/common/config/main-local.php包含: 'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' =&

我已经在AWS Elastic Beanstalk上部署了一个基于Yi2的应用程序,并且在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',
        ],

怎么了?谢谢。

我通过在EC2>网络与安全>安全组>编辑入站规则上更改为“所有流量”解决了问题

我还在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',
    ],

这个答案对我帮助很大:

我通过在EC2>网络与安全>安全组>编辑入站规则上更改为“所有流量”解决了这个问题

我还在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',
    ],
这个答案对我帮助很大:

允许“所有流量”进入数据库是非常糟糕的做法。请不要这样做。允许“所有流量”进入数据库是非常糟糕的做法。请不要这样做。