cPanel部署的Laravel站点上传19.1MB压缩包报错问题求助
解决方案
1. 调整完整的PHP上传相关配置
你当前cPanel配置的单文件最大上传仅为8M,远小于要上传的19.1M文件,且上传限制需要同时调整多个关联PHP参数:
upload_max_filesize:单文件最大上传限制,需≥20M(略大于目标文件大小即可,建议设为32M)post_max_size:POST请求整体最大大小,必须大于upload_max_filesize(因为请求中除了文件还包含其他表单字段,建议设为32M)memory_limit:PHP脚本运行可占用的最大内存,需大于post_max_size,建议设为64Mmax_input_time:PHP接收请求数据的最大时长,建议设为120秒以上,避免大文件传输过程中超时
注意:需确认你修改的是当前站点对应PHP版本的配置,而非全局默认配置。部分cPanel主机支持站点根目录下添加
.user.ini文件覆盖配置,可在站点根目录创建该文件写入以下内容:
upload_max_filesize = 32M post_max_size = 32M memory_limit = 64M max_input_time = 120 max_execution_time = 300
修改完成后可在Laravel的public目录临时创建phpinfo.php文件,写入<?php phpinfo(); ?>,访问该文件确认配置是否生效,确认后立刻删除该文件避免安全风险。
2. 检查Laravel框架的上传验证规则
找到对应上传接口的表单验证逻辑,确认是否存在文件大小限制规则,例如是否写了max:8192(即限制8M,单位为KB),将该值调整为≥20480(对应20M)即可。
3. 检查Web服务端的上传限制
如果使用Apache服务,检查站点根目录.htaccess文件是否存在LimitRequestBody配置,该值单位为字节,需调整至≥33554432(对应32M),无该配置则无需额外添加。如果站点使用Nginx反向代理,需要调整client_max_body_size参数,cPanel托管环境可联系主机提供商协助调整。
4. 其他排查点
- 确认站点磁盘剩余配额足够存放上传的文件
- 确认Laravel的
storage目录、自定义上传目录权限为755,目录属主配置正确 - 如果站点接入了CDN、WAF等代理服务,确认代理层的上传大小限制是否大于20M
内容的提问来源于stack exchange,提问作者Abdur Rehman Alvi
相关产品推荐
相关产品推荐

