You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Sail(Docker)中phpMyAdmin导入报POST Content-Length超限

问题根因

你之前修改的docker/8.1/php.ini仅作用于laravel.test对应的Laravel应用容器。phpMyAdmin是独立部署的官方镜像,内部自带独立PHP运行环境,默认上传大小限制为2M,对Laravel容器的PHP配置修改不会同步到phpMyAdmin容器,因此配置始终不生效。

解决方案

方案一:通过环境变量快速配置(推荐)

phpMyAdmin官方镜像原生支持通过环境变量直接设置上传大小限制,无需额外创建配置文件,直接修改docker-compose.yml中myadmin服务的配置即可:

myadmin:
    image: 'phpmyadmin:latest'
    ports:
        - 8080:80
    environment:
        MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
        UPLOAD_LIMIT: 100M
    links:
        - "mysql:db"
    depends_on:
        - mysql
    networks:
        - sail

UPLOAD_LIMIT参数会自动同步调整post_max_size和upload_max_filesize两个PHP配置项,满足大文件上传需求。

方案二:挂载自定义配置文件(适合多参数调整场景)

如果需要同时调整PHP执行时间、内存限制等其他参数,可以通过挂载自定义ini文件的方式覆盖容器默认配置:

  1. 在项目docker目录下新建phpmyadmin文件夹,创建uploads.ini配置文件,写入需要的参数:
    upload_max_filesize = 100M
    post_max_size = 100M
    max_execution_time = 300
    memory_limit = 256M
    
  2. 修改docker-compose.yml中myadmin服务配置,添加卷挂载规则:
    myadmin:
        image: 'phpmyadmin:latest'
        ports:
            - 8080:80
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
        volumes:
            - './docker/phpmyadmin/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini'
        links:
            - "mysql:db"
        depends_on:
            - mysql
        networks:
            - sail
        ```
    
    
生效操作

配置修改完成后,在项目根目录执行以下命令重建容器使配置生效:

sail down
sail up -d

容器重启完成后再访问phpMyAdmin导入SQL文件,即可解决大小超限报错。

内容的提问来源于stack exchange,提问作者Dylan Glockler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 00:06:32