2017-02-20 12 views
0

nginx、php、mysql、およびphpmyadminを作成する作成ファイルをビルドします。DockerいいえNginxへのMySQL接続

すべてが機能しています。 PHPmyAdminはmysqlコンテナと通信できます。 NginxはPHPコンテナと通信できます。

しかし、それはnginxやphpがmysqlと対話できないようです。

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

ような何かを実行するとき、それは戻っています:

Uncaught Error: Call to undefined function mysql_connect()

をここに私のドッキングウィンドウ-compose.yml

ある
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

どのバージョンのPHPをお使いですか? MySQLの拡張機能はphp7から削除されました。 PDOかmysqliを使う – frz3993

+0

あなたのホストからMySQLにアクセスできますか? – apokryfos

+2

MySQLインスタンスが他のコンテナで実行されている場合は、localhostに接続できません。まず、デフォルトのネットワークを使用しない場合は、両方のコンテナをドッカーのネットワークに接続する必要があります。これでコンテナ名(この場合はmysql)またはIPを使用してMySQLコンテナに接続できます。 –

答えて

0

mysql_connect関数はPHP 7.0から削除されます。

同様の機能mysqli_connectを提供するmysqli拡張にコードを移行するか、PDOに移行する必要があります。

リファレンス(赤い警告をご覧ください):http://php.net/manual/en/function.mysql-connect.php

関連する問題