Неустранимая ошибка: Uncaught PDOException: SQLSTATE[42S02]: базовая таблица или представление не найдены: 1146 Таблица Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Неустранимая ошибка: Uncaught PDOException: SQLSTATE[42S02]: базовая таблица или представление не найдены: 1146 Таблица

Сообщение Anonymous »

Я попытался создать контейнер для приложения PHP-apache с помощью MariaDB и PhpMyAdmin и получил ошибку:

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

Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'cinema.movies' doesn't exist in /var/www/html/app/DAO/MovieDAO.php:14 Stack trace: #0 /var/www/html/app/DAO/MovieDAO.php(14): PDOStatement->execute() #1 /var/www/html/app/Controllers/MovieController.php(16): App\DAO\MovieDAO->getAllMovies() #2 /var/www/html/resources/Views/home.php(5): App\Controllers\MovieController->getAllMovies() #3 /var/www/html/index.php(67): include_once('/var/www/html/r...') #4 {main} thrown in /var/www/html/app/DAO/MovieDAO.php on line 14
и если я попытаюсь перейти на порт 8081 (PMA), я получаю сообщение об ошибке, что у меня нет доступа.
Я не могу понять, почему у меня этого нет. иметь доступ к базе данных или почему кажется, что база данных не существует.
Мой файл yml:

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

services:
web:
image: php:8.2.18-apache
container_name: cinema
build: .
ports:
- "8080:80"
environment:
MYSQL_HOST: $(DB_HOST)
MYSQL_DATABASE: $(DB_NAME)
MYSQL_USER: $(DB_USER)
MYSQL_PASSWORD: $(DB_PASS)
volumes:
- .:/var/www/html
depends_on:
- db
env_file:
- .env
networks:
- app-network

db:
image:  mariadb:10.4.32
container_name: database
restart: always
environment:
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: "1"
MYSQL_HOST: $(DB_HOST)
MYSQL_DATABASE: $(DB_NAME)
MYSQL_USER: $(DB_USER)
MYSQL_PASSWORD: $(DB_PASS)
MARIADB_AUTO_UPGRADE: "1"
volumes:
- db_data:/var/lib/mysql
- ./cinema.sql:/docker-entrypoint-initdb.d/cinema.sql
env_file:
- .env
networks:
- app-network

phpmyadmin:
image:  phpmyadmin:5.2.1
container_name: phpmyadmin
restart: always
environment:
PMA_HOST: $(DB_HOST)
PMA_USER: $(DB_USER)
PMA_PASSWORD: $(DB_PASS)
ports:
- "8081:80"
depends_on:
- db
env_file:
- .env
networks:
- app-network

volumes:
db_data:

networks:
app-network:
driver: bridge

И файл Dockerfile:

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

FROM php:8.2.18-apache

WORKDIR /var/www/html

RUN apt-get update && apt-get install -y \
curl \
git \
zip \
unzip \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libonig-dev \
libxml2-dev \
libzip-dev && \
docker-php-ext-configure gd --with-freetype --with-jpeg && \
docker-php-ext-install -j$(nproc) gd && \
docker-php-ext-install -j$(nproc) mysqli pdo pdo_mysql && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \
apt-get install -y nodejs && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

RUN node -v && npm -v

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

COPY composer.json composer.lock ./
COPY package.json package-lock.json ./

RUN COMPOSER_ALLOW_SUPERUSER=1 composer install
RUN npm install

COPY . .

EXPOSE 80
У меня была эта проблема SQLSTATE[HY000] [2002] Нет такого файла или каталога, и я решил ее, добавив том в образ базы данных и изменив хост базы данных непосредственно в файл .env
Пожалуйста, кто-нибудь может мне помочь?

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

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

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

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

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

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

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