Драйвер PDO mysql не поддерживается, отображается при запуске контейнера проекта на основе Admidio.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Драйвер PDO mysql не поддерживается, отображается при запуске контейнера проекта на основе Admidio.

Сообщение Anonymous »

Недавно я пытался создать Docker-контейнер в своем веб-приложении на основе Admidio, но столкнулся с небольшой ошибкой:
Когда я открываю веб-страницу localhost:8080, она отображает следующее сообщение:
"Запрошенный драйвер PDO mysql не поддерживается"
Я несколько раз изменял файл docker-compose.yaml и файл Dockerfile.
Вот это docker-compose.yaml:

Код: Выделить всё

services:
php:
image: php:7.4-apache
ports:
- '8080:80'
volumes:
- /Applications/XAMPP/xamppfiles/htdocs/project:/var/www/html
environment:
- APACHE_RUN_USER=www-data
- APACHE_RUN_GROUP=www-data
- PHP_EXTENSION=pdo_mysql
depends_on:
- db
phpmyadmin:
image: phpmyadmin:latest
restart: always
ports:
- '8077:80'
environment:
- PMA_HOST=db
#- PMA_ARBITRARY=1
depends_on:
- db
db:
image: mysql:latest
ports:
- '5506:3306'
restart: always
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: TRUE
MYSQL_USER: user
MYSQL_PASSWORD: 1234567
MYSQL_ROOT_PASSWORD: 1234567
И файл Dockerfile:

Код: Выделить всё

FROM php:7.4-apache

WORKDIR /var/www/html/

RUN a2enmod rewrite

RUN apt-get update && apt-get upgrade -y

RUN docker-php-ext-install mysqli pdo pdo_mysql

COPY . /var/www/html/

RUN chown www-data:www-data /var/www/html/
RUN chmod 755 /var/www/html/

# start Apache2 on image start

EXPOSE 80

# Use the official MySQL image as a base
FROM mysql:latest

# Set the working directory to /app
WORKDIR /app

# Copy the current directory contents into the container at /app
ADD . /app

# Set the default user for the MySQL image
USER mysql

# Set environment variables for the new user
ENV MYSQL_USER=external_user
ENV MYSQL_PASSWORD=password
ENV MYSQL_DATABASE=my_database

# Run the following commands to create the new user and grant them the necessary permissions
RUN mysql -u root -p -e "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';"
RUN mysql -u root -p -e "GRANT ALL PRIVILEGES ON $MYSQL_DATABASE.* TO '$MYSQL_USER'@'%';"
RUN mysql -u root -p -e "FLUSH PRIVILEGES;"

# Expose port 3306 to allow connections to the database
EXPOSE 3306

# Start the MySQL server when the container is run
CMD ["mysqld"]
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/791 ... sed-projec
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»