无法上传 +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
你能帮帮我吗
谢谢
看起来您仅将 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/
。