部署错误-SQLSTATE[HY000][2002]连接被拒绝


Deployment error - SQLSTATE[HY000] [2002] Connection refused

我正在开发一个symfony应用程序,最近由于登录、注册等问题,我试图将我的工作部署到服务器上。

当地一切顺利!请注意,尽管我使用的是本地主机上的RDS数据库。我没有使用dev数据库。

最初它在服务器上抱怨我的PHP版本,所以我将其更新到5.6并重新聚合,现在我在日志中得到了以下内容!

Creating the "app/config/parameters.yml" file
> Sensio'Bundle'DistributionBundle'Composer'ScriptHandler::buildBootstrap
> Sensio'Bundle'DistributionBundle'Composer'ScriptHandler::clearCache

[Doctrine'DBAL'Exception'ConnectionException]                              
An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused  

[Doctrine'DBAL'Driver'PDOException]        
SQLSTATE[HY000] [2002] Connection refused  

[PDOException]                             
SQLSTATE[HY000] [2002] Connection refused  

Script Sensio'Bundle'DistributionBundle'Composer'ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception

[RuntimeException]                                                             
An error occurred when executing the "'cache:clear --no-warmup'" command:      
  [Doctrine'DBAL'Exception'ConnectionException]                                
  An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused    

  [Doctrine'DBAL'Driver'PDOException]                                          
  SQLSTATE[HY000] [2002] Connection refused                                    

  [PDOException]                                                               
  SQLSTATE[HY000] [2002] Connection refused                                    
.                                                                              

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--] [<packages>]...
(Executor::NonZeroExitStatus)

[2016-01-12T16:22:49.583Z] ERROR [2219]  : Command CMD-AppDeploy failed!

任何更多的信息只需要询问一个错误的更新!任何帮助都将不胜感激!

连接被拒绝,因此是时候进行系统调试了:

  1. 识别用于连接的主机、用户和密码。这些东西会放在Symfony存放这些东西的地方
  2. 如果这些详细信息存在并且看起来正确,则使用它们直接登录到数据库(通过命令行)以验证它们是否正确
  3. 检查主机名是否实际解析为数据库所在的位置。例如,如果数据库与PHP在同一台计算机上,并且使用的主机名是db-production,那么请检查操作系统的hosts文件中的该条目,并确保它解析为127.0.0.1。通常,我希望主机设置为localhost,在这种情况下,您仍然可以检查主机文件,但它可能会在其中
  4. 一旦您确定了主机、用户和密码是正确的,唯一剩下的就是Symfony的行为没有达到预期。在这种情况下,我完全没有主意了

这意味着条令无法建立与数据库的连接。

当您部署symfony应用程序编写器时,请查找parameters.yml.dist并将所有这些参数复制到文件parameters.yml中,该文件将用于配置symfony和任何其他捆绑包。

您需要在parameters.yml.dist中设置数据库的正确信息(主机地址、用户名、密码、数据库名称)