【问题标题】:Symfony 3.3.12 migration from AWS / RDS Maria DB 10.0 fail: DBALException从 AWS / RDS Maria DB 10.0 迁移 Symfony 3.3.12 失败:DBALException
【发布时间】:2018-12-02 21:21:10
【问题描述】:

我正在尝试迁移使用 Symfony 3.3.12 制作的 API,使用基于 MariaDb MariaDB 10.0.24 的 Amazon RDS 数据库安装在 AWS 上

在我的日志上得到这个:

[2018-06-23 18:22:52] request.INFO: Matched route "api_login_check". {"route":"api_login_check","route_parameters":{"_route":"api_login_check"},"request_uri":"https://api.excellenting.com/api/login_check","method":"POST"} []
[2018-06-23 18:22:54] request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\DBALException: "An exception occured while establishing a connection to figure out your platform version. You can circumvent this by setting a 'server_version' configuration value  For further information have a look at: https://github.com/doctrine/DoctrineBundle/issues/673" at /home/ubuntu/symfony_backend/vendor/doctrine/doctrine-bundle/ConnectionFactory.php line 96 {"exception":"[object] (Doctrine\\DBAL\\DBALException(code: 0): An exception occured while establishing a connection to figure out your platform version.\nYou can circumvent this by setting a 'server_version' configuration value\n\nFor further information have a look at:\nhttps://github.com/doctrine/DoctrineBundle/issues/673 at /home/ubuntu/symfony_backend/vendor/doctrine/doctrine-bundle/ConnectionFactory.php:96, Doctrine\\DBAL\\Exception\\ConnectionException(code: 0): An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused at /home/ubuntu/symfony_backend/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:108, Doctrine\\DBAL\\Driver\\PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/ubuntu/symfony_backend/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:47, PDOException(code: 2002): SQLSTATE[HY000] [2002] Connection refused at /home/ubuntu/symfony_backend/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43)"} []
[2018-06-23 18:53:39] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\NotFoundHttpException: "No route found for "HEAD /"" at /home/ubuntu/symfony_backend/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php line 123 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\NotFoundHttpException(code: 0): No route found for \"HEAD /\" at /home/ubuntu/symfony_backend/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/EventListener/RouterListener.php:123, Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException(code: 0):  at /home/ubuntu/symfony_backend/var/cache/prod/appProdProjectContainerUrlMatcher.php:1585)"} []

嗯,我没有看到或者我不明白这方面的相关信息。

但我正在调查,我看到 Syfony 3.3 Doctrine manual 谈到这个问题,其他搜索显示 MariaDB 10.2.7 及更高版本存在问题。

好吧,我将 MariaDb 降级到与原始 API 相同的版本:

好吧,我编辑了 app/config/config.yml 尝试 5.6 和 5.2(这是 mysql -Version 的逻辑值返回

# Doctrine Configuration
doctrine:
    dbal:
        driver:   pdo_mysql
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        server_version: 5.6
        charset:  UTF8

mysql -Version
mysql  Ver 15.1 Distrib 10.0.35-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

配置上的凭据是正确的,并尝试使用端口 3306 的不同版本,主机到 localhost...

parameters:
    database_host: 127.0.0.1
    database_port: null
    database_name: c1farid
    database_user: c1fariduser
    database_password: CorrectPassWorD

【问题讨论】:

    标签: symfony doctrine dbal


    【解决方案1】:

    更简单。

    bin/console cache:clear --env=prod
    // Clearing the cache for the prod environment with debug false
    
    
    [OK] Cache for the "prod" environment (debug=false) was successfully cleared.
    

    不修改任何东西,只有我忘记了来自 Exception Doctrine\DBAL\DBALException 的 stupid 消息错误。

    【讨论】:

      猜你喜欢
      • 2020-04-27
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 2022-11-25
      • 1970-01-01
      相关资源
      最近更新 更多