上传大小增加不起作用(LAMP Docker)

问题描述 投票:0回答:1

无法上传 +2m 文件

码头工人组成

version: "3.7"
services:
  web-server:
    build:
      dockerfile: php.Dockerfile
      context: .
    restart: always
    volumes:
      - "./html/:/var/www/html/"
    ports:
      - "8080:80"
  mysql-server:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rise
    volumes:
      - mysql-data:/var/lib/mysql

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    restart: always
    environment:
      PMA_HOST: mysql-server
      PMA_USER: root
      PMA_PASSWORD: rise
      UPLOAD_LIMIT: 500M
    ports:
      - "8444:80"
volumes:
  mysql-data:

PHP.docker 文件

FROM php:8.0-apache

RUN a2enmod rewrite

RUN apt-get update && apt-get install -y git unzip zip


COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions gd pdo_mysql bcmath zip intl opcache MySQLi

COPY --from=composer:2.0 /usr/bin/composer /usr/local/bin/composer

如果您看到上传限制为 500mb,但 php 站点不想上传 2+mb 文件

遵循指南并添加环境但不起作用。 不要找到 php.ini 或 .htaccess

你能帮帮我吗

谢谢

php linux docker docker-compose lamp
1个回答
0
投票

看起来您仅将 ENV var 添加到 PhpAdmin 容器配置中。但是要在站点上传文件,需要使用“网络服务器”容器,对吗?

所以你需要更新'web-server'容器的php.ini文件。

这可以通过将自定义 php.ini 文件从主机映射到容器来完成。此文件中的值将覆盖任何现有值。将此行添加到网络服务器下的 docker-compose.yml:

volumes:
  - ./path/to/the/local/custom-php.ini:/path/to/the/folder/where/php/scans/additional/ini-files/custom-php.ini

然后创建

./path/to/the/local/custom-php.ini
(路径可以是任何)文件并将此行放在那里:

upload_max_filesize = 500M

在此之后,您需要确定

/path/to/the/folder/where/php/scans/additional/ini-files/
文件夹。这可以通过运行以下命令来完成:

docker exec web-server php --ini

在输出中,您将看到 php 使用的所有 ini 文件,并且应该有类似“扫描额外的 .ini 文件:{path to folder}”之类的内容。这是您应该映射自定义 php.ini 文件的文件夹,即您需要用此路径替换

/path/to/the/folder/where/php/scans/additional/ini-files/

© www.soinside.com 2019 - 2024. All rights reserved.