2016-11-11 6 views
1

Also aus irgendeinem Grunde, wenn ich zum Beispiel laufe cache:clear bekomme ich folgende Fehlermeldung:Symfony - Unknown MySQL-Server-Host bei der Verwendung von Befehlszeile

mysql error

Aber wenn ich die Anwendung über den Browser es scheint, sehen zu verbinde mich gut mit der Datenbank, denn wenn ich die Parameter.yml mit falschen Daten bearbeite, wirft es einen Fehler im Browser, der sagt, dass es keine Verbindung herstellen kann.

Ich verwende Docker und ich habe die folgenden Einstellungen:

php: 
    image: zimmobe/php:5.6-apache-oraclelinux 
    volumes: 
    - ./:/var/www/project/ 
    environment: 
    - SYMFONY_ENV=dev 
    - SYMFONY_DEBUG=1 
    - BASE_DIR=/var/www/project 
    links: 
    - mysql 
    ports: 
    - 3005:80 

mysql: 
    image: mysql:5.6 
    environment: 
    MYSQL_ROOT_PASSWORD: root 
    MYSQL_DATABASE: minecraftweb 
    ports: 
    - 3306:3306 

und meine parameters.yml sieht wie folgt aus:

parameters: 
    database_host: mysql 
    database_port: 3306 
    database_name: minecraftweb 
    database_user: root 
    database_password: root 
    mailer_transport: smtp 
    mailer_host: 127.0.0.1 
    mailer_user: null 
    mailer_password: null 
    secret: ThisTokenIsNotSoSecretChangeIt 

So einen Grund, warum die Befehlszeile einen Fehler wirft aber nicht die Anwendung im Browser?

+0

Sie den Befehl innerhalb des PHP-Container Ausführung sind? – Matteo

+0

naja ... das scheint viel besser zu funktionieren: D. Ich bin neu in Docker. Danke! – Christophe

+0

Ich habe den Löschbefehl im Ordner des Projekts ausgeführt, aber nicht in einem bestimmten Container. nur im Terminal – Christophe

Antwort

3

Sie sollten den Befehl im Inneren des Behälters starten, ein Beispiel (ein wahrscheinlich Skript):

docker-compose \ 
    -f docker-compose.yml \ 
    run --rm --entrypoint bash php -c \ 
    "id -u dockeruser &> /dev/null || useradd -r -g users -u $USER_ID --base-dir /tmp dockeruser && su dockeruser -c 'bin/console cache:clear'" 

Hope this Hilfe

Verwandte Themen