2017-02-20 4 views
0

Ich baue eine Compose-Datei, die nginx, php, mysql und phpmyadmin erstellt.Docker Keine MySQL-Verbindung zu Nginx

Alles funktioniert für sich. PHPmyAdmin kann mit dem mysql Container kommunizieren. Nginx kann mit PHP-Container sprechen.

Aber es scheint, dass nginx oder php nicht in der Lage ist, mit mysql zu sprechen. Wenn etwas Ausführung wie

mysql_connect('localhost','florian','pw') 

es gibt zurück:

Uncaught Error: Call to undefined function mysql_connect()

Hier mein Docker-compose.yml ist

php: 
    build: php-docker/. 
    container_name: php 
    ports: 
     - "9000:9000" 
    volumes: 
     - /var/www/:/var/www/ 

nginx: 
    build: nginx-docker/. 
    container_name: nginx 
    links: 
     - php 
    ports: 
     - "80:80" 

mysql: 
    build: mysql-docker/. 
    container_name: mysql 
    volumes: 
     - /var/mysql:/var/lib/mysql 
    environment: 
     MYSQL_ROOT_PASSWORD: pw 
     MYSQL_USER: florian 
     MYSQL_PASSWORD: pw 
     MYSQL_DATABASE: db 


    phpmyadmin: 
    build: phpmyadmin/. 
    links: 
    - mysql:db 
    ports: 
    - 1234:80 
    container_name: phpmyadmin 
    environment: 
    PMA_ARBITRARY: 1 
    PMA_USERNAME: florian 
    PMA_PASSWORD: pw 
    MYSQL_ROOT_PASSWORD: pw 
    restart: always 
+1

Welche Version von PHP verwenden Sie? Mysql Erweiterung wurde von PHP7 entfernt. Verwenden Sie PDO oder mysqli – frz3993

+0

Können Sie von Ihrem Host auf MySQL zugreifen? – apokryfos

+2

Sie können keine Verbindung zu localhost herstellen, wenn Ihre MySQL-Instanz in einem anderen Container ausgeführt wird. Zunächst müssen Sie beide Container im Netzwerk des Andockers verbinden, wenn Sie das Standardnetzwerk nicht verwenden möchten. Jetzt können Sie eine Verbindung zum MySQL-Container herstellen, indem Sie den Containernamen (in diesem Fall mysql) oder die IP-Adresse verwenden. –

Antwort

0

mysql_connect Funktion von PHP 7.0 entfernt wird.

Sie müssen Ihren Code in die mysqli-Erweiterung migrieren, die ähnliche Funktion mysqli_connect bietet, oder auf PDO migrieren.

Reference (Blick auf roter Warnung): http://php.net/manual/en/function.mysql-connect.php

Verwandte Themen