【问题标题】:Deployment error - SQLSTATE[HY000] [2002] Connection refused部署错误 - SQLSTATE[HY000] [2002] 连接被拒绝
【发布时间】:2016-01-12 16:30:15
【问题描述】:

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

在本地一切正常!请注意,尽管我在本地主机上使用 RDS 数据库。我没有使用开发数据库。

最初它抱怨我在服务器上的 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!

任何更多信息只需要询问病态更新!任何帮助将不胜感激!

【问题讨论】:

    标签: php sql symfony


    【解决方案1】:

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

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

    【讨论】:

    • 这是我的第一个想法,symfony 将连接详细信息存储在 parameters.yml 文件中,并且我的连接详细信息是正确的,但我很感谢你的帮助
    • @Calvin - 一切正常,但只有 symfony 无法连接到数据库?你数据库禁止symfony应用?再检查一次,如果您尝试使用 dev 环境并且您在 config_dev 中设置了数据库,我不会感到惊讶。
    【解决方案2】:

    这意味着学说无法建立与您的数据库的连接。

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

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

    【讨论】:

    • 很遗憾,它不是我的参数文件,是我第一次检查的!
    • 您的数据库是否已启动并正在运行?它在正确的端口上监听吗?您可以使用相同的用户名检查控制台中的连接吗?
    • 是的!我仍然可以使用教义将数据保存到它。:/
    • 您可以在部署环境或本地持久化数据
    • 在本地当然是我的部署环境的问题:/
    猜你喜欢
    • 2021-07-10
    • 2013-11-06
    • 2017-05-04
    • 2020-01-22
    • 2017-09-20
    • 2020-03-26
    • 2020-12-04
    • 2020-02-27
    • 2016-11-03
    相关资源
    最近更新 更多