MySQLi не найден в Docker PHP-контейнере - PullRequest
0 голосов
/ 31 октября 2018

Ошибка:

Неустранимая ошибка: необнаруженная ошибка: класс «mysqli» не найден в /var/www/html/index.php:16 Трассировка стека: # 0 {main} добавлено в /var/www/html/index.php в линию 16

Я создал файл index.php и пример кода подключения PDO mysql. Все работает как положено, кроме подключения MySQLi. Я добавил команду docker-php-ext-install run в файл docker, но это не помогло.

Вот мой докерский файл PHP:

FROM php:7.0-fpm
RUN docker-php-ext-install pdo pdo_mysql mysqli
RUN docker-php-ext-enable mysqli 

Мой файл docker-compose.yml:

nginx:  
 build: ./nginx/
 container_name: nginx-container
 ports:
  - 8080:80
 links:
  - php
 volumes_from:
  - app-data

php:  
 build: ./php/
 container_name: php-container
 expose:
  - 9000
 links:
  - mysql
 volumes_from:
  - app-data

app-data:  
 #image: php:7.0-fpm
 build: ./php/
 container_name: app-data-container
 volumes:
  - ./www/html/:/var/www/html/
  - ./nginx/nginx:/etc/nginx/conf.d
 command: “true”

mysql:  
 #image: mysql:5.7
 build: ./mysql/
 container_name: mysql-container
 expose:
  - 3306
 ports:
  - 3306:3306
 volumes_from:
  - mysql-data
 environment:
  MYSQL_ROOT_PASSWORD: secret
  MYSQL_DATABASE: zavrel_db
  MYSQL_USER: user
  MYSQL_PASSWORD: password

mysql-data:  
 image: mysql:latest
 container_name: mysql-data-container
 volumes:
  - /var/lib/mysql
 command: "true"

phpmyadmin:  
 image: phpmyadmin/phpmyadmin
 container_name: phpmyadmin-container
 ports:
  - 8888:80
 links:
  - mysql
 environment:
  PMA_HOST: mysql

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Я решил проблему, удалив все изображения и контейнеры. После этого я начал и все нормально.

docker rmi $(docker images -a -q)
docker rm $(docker ps -a -q)
0 голосов
/ 31 октября 2018

Попробуйте изменить имя пакета

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