PHP-сайт внутри Docker всегда загружается на английском, а не на вьетнамском языке [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP-сайт внутри Docker всегда загружается на английском, а не на вьетнамском языке [закрыто]

Сообщение Anonymous »

В настоящее время я работаю над приложением PHP с использованием Docker Compose и настроил веб-сервис с Apache, MySQL и phpMyAdmin. Однако когда я пытаюсь получить доступ к веб-приложению по адресу localhost:8080, сайт загружается, но он всегда на английском языке, несмотря на ожидаемую конфигурацию.
Вот что я использую:docker-compose.yml:

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

yaml
Copy code
version: '3.8'

services:
# Web service (PHP & Apache)
web:
build:
context: ../
dockerfile: docker/dockerfile
ports:
- "8080:80"
volumes:
- ../:/var/www/html
- ./apache-custom.conf:/etc/apache2/sites-available/000-default.conf
depends_on:
- db
restart: always
networks:
- cake-sale-network

# Database service (MySQL)
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: banhang_php
MYSQL_USER: user
MYSQL_PASSWORD: 1
volumes:
- banhang_php:/var/lib/mysql
- ./database/banhang_php.sql:/docker-entrypoint-initdb.d/banhang_php.sql
ports:
- "3306:3306"
restart: always
networks:
- cake-sale-network

# phpMyAdmin service for database management
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: rootpassword
ports:
- "8081:80"
depends_on:
- db
restart: always
networks:
- cake-sale-network

# Test service for PHPUnit
test:
build:
context: ../
dockerfile: docker/dockerfile
command: bash -c "composer install && ./vendor/bin/phpunit --configuration phpunit.xml --coverage-text"
volumes:
- ../:/var/www
depends_on:
- db
networks:
- cake-sale-network
restart: "no"
environment:
- XDEBUG_MODE=coverage
- MYSQL_HOST=db
- MYSQL_USER=user
- MYSQL_PASSWORD=1
- MYSQL_DB=banhang_php

volumes:
banhang_php:

networks:
cake-sale-network:
driver: bridge
Файл Docker:

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

FROM php:8.2.4-apache

RUN apt-get update && apt-get install -y \
git \
zip \
unzip \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
build-essential \
libtool

RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install gd mysqli pdo pdo_mysql

RUN rm -rf /var/lib/apt/lists/*

ENV APACHE_DOCUMENT_ROOT /var/www/cake-main
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

RUN curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer

WORKDIR /var/www/cake-main
COPY . /var/www
RUN composer require --dev phpunit/phpunit
RUN composer install

RUN pecl install xdebug && docker-php-ext-enable xdebug
ENV XDEBUG_MODE=coverage

RUN echo 'ServerName localhost' >> /etc/apache2/apache2.conf && \
echo '' >> /etc/apache2/apache2.conf && \
echo '    AllowOverride All' >> /etc/apache2/apache2.conf && \
echo '    Require all granted' >> /etc/apache2/apache2.conf && \
echo '' >> /etc/apache2/apache2.conf

RUN a2enmod rewrite

RUN chmod -R 755 /var/www/html && chown -R www-data:www-data /var/www/html
RUN chmod -R 755 /var/www/cake-main && chown -R www-data:www-data /var/www/cake-main

CMD ["apache2-foreground", "-e", "info"]

EXPOSE 80
Описание проблемы
Когда я запускаю docker-compose up и посещаю localhost:8080 в своем браузере, веб-сайт загружается, но он всегда отображается на английском языке. , независимо от ожидаемых конфигураций (например, настройки локализации должны быть на вьетнамском языке). Я подтвердил, что настройки локализации приложения в apache-custom.conf и в коде PHP верны, но, похоже, они не вступили в силу.
Я также пробовал перезапустить контейнеры несколько раз и проверил журналы веб-служб и служб БД, но никаких конкретных ошибок, указывающих на то, почему не применяются языковые настройки, не обнаружено.
Что я пробовал
Проверка наличия Файл apache-custom.conf применяется правильно, проверяя файл /etc/apache2/sites-available/000-default.conf контейнера.
Убедившись, что настройки локализации внутри PHP-приложения верны.
Перезапуск контейнеры несколько раз.
Проверка языковых предпочтений вручную в настройках приложения.
Ожидаемый результат:
Я ожидаю, что приложение загрузится на вьетнамском языке в соответствии с настройки в моих файлах конфигурации.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ide-docker
Ответить

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

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

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

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

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