2017-02-20 4 views
1

Ich versuche, meinen Symfony 3-Projekt zu überprüfen, aber ich erhalte eine Fehlermeldung mit dem Komponisten Skripte:SensioLabsInsight kann nicht mit der Datenbank verbindet

SensioLabsInsight was not able to install your Composer dependencies. If you need to customize files or run commands to make it work, you can edit your SensioLabsInsight project configuration to override the default "pre_composer_script" and/or "post_composer_script" settings.

Hier ist der Fehler:

Loading composer repositories with package information 
Installing dependencies (including require-dev) from lock file 
Nothing to install or update 
Generating optimized autoload files 
> Incenteev\ParameterHandler\ScriptHandler::buildParameters 
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 symfony-scripts 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-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]... 

I Ich weiß nicht, warum SensioLabsInsight eine Verbindung zur Datenbank herstellen muss.

+0

Haben Sie schon eine Lösung gefunden? –

Antwort

0

Nach dem Löschen des Caches versucht Symfony, den Kernel zu booten. Dazu gehört auch die Verbindung zur Datenbank.

When installing your project's dependencies, the composer install command is executed. In turn, this command executes the cache:clear command, which tries to boot the kernel of your application.

https://insight.sensiolabs.com/help/#how-can-i-connect-to-a-database

Ich hatte das gleiche Problem und beschlossen, eine In-Memory-pdo_sqlite Datenbank in meiner Testumgebung zu verwenden (was ich schon woanders wurde mit), aber Sie können auch MongoDB, Redis verwenden, oder Memcached.

+0

Es ist eine Lösung, aber nicht die wirkliche Lösung. Wenn Sie zwischen zwei Arten von Datenbanken wechseln müssen, könnten Sie Probleme haben, manchmal ... –

+0

Das ist richtig, es ist keine vollständige Lösung. Das Problem ist, dass Sie sich in einer Umgebung wie SensioLabs Insight nicht unbedingt mit einer Datenbank verbinden sollten. Die Lösung wäre, dass Symfony keine Datenbankverbindung im Cache benötigt: clear. Fühlen Sie sich frei, eine Pull-Anfrage zu erstellen;). In der Zwischenzeit verwenden Sie diese Problemumgehung. –

1

gleiche Problem für mich, apprently das Problem betrifft DBAL 2.5

So müssen Sie die Server-Version hinzufügen, in config.yml

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

GitHub issue

+0

Dies hilft nicht, da auf dem SensioLabsInsight-Server kein Datenbankserver vorhanden ist. –

Verwandte Themen