Драйвер Mysql в Docker установлен, но NOS работает - PullRequest
0 голосов
/ 11 июля 2019

Я начинаю работать с Docker, и я пытаюсь запустить простое приложение PHP с базой данных MySQL.Я установил драйвер для mysql в файле Docker, и я вижу с php-информацией внутри контейнера, но, когда вы пытаетесь подключиться к базе данных de из моего php-класса, я получаю типичную ошибку massege «Вызов неопределенной функции mysql_open () в /код / ​​открытый / index.php: 5" .Я пытаюсь соединиться с PDO (также установленным и видимым с phpinfo), и получаю похожую ошибку (не найден PDO).

![enter image description here

здесь мой код

index.php

<?php
#phpinfo();
echo "Hola hi";

$link = mysql_open("mysql", "root", "frida", "");

if (!$link) {
   echo "Error: Unable to connect to MySQL." . PHP_EOL;
   echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
   echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
   exit;
}

echo "Success: A proper connection to MySQL was made!" . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;

mysqli_close($link);

docker-compose.yml

version: '3'

services:

  web:
    build:
      context: .
      dockerfile: docker/nginx/Dockerfile
    networks:
      - red
    ports:
      - "8081:80"
    volumes:
      - .:/code/
    links:
      - php

  php:
    build:
      context: .
      dockerfile: docker/php/Dockerfile
    networks:
      - red
    volumes:
     - .:/code/

  mysql:
    #image: mysql:8.0
    build:
      context: .
      dockerfile: docker/mysql/Dockerfile
   # command: --default-authentication-plugin=mysql_native_password
    networks:
      - red  
    ports:
      - "8083:3306"

    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=frida
    volumes:
      - .:/code/  

  phpmyadmin:
    depends_on:
      - mysql
    image: phpmyadmin/phpmyadmin 
    networks:
      - red 
    ports:
      - "8082:80"
    restart: always
    environment:
      - MYSQL_USERNAME=root
      - PMA_HOST=mysql
      - MYSQL_ROOT_PASSWORD=frida
networks:
  red:

Dofkerfile для php

FROM php:7.1-fpm-alpine
RUN docker-php-ext-install mysqli && docker-php-ext-enable mysqli
# Copy the php config file
COPY ./docker/php/php-fpm.conf /etc/php/7.1/fpm/pool.d/www.conf

# Copy the application code
COPY . /code

VOLUME ["/code"]

dockerfile для nginx

FROM nginx:1.11-alpine

# Copy the nginx config file
COPY ./docker/nginx/nginx.conf /etc/nginx/conf.d/default.conf


Я много искал, но вся информация, которую я могу найти, исправляет ошибку при настройке драйвера (и я уже настроил)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...