问题背景
万网(现阿里云)虚拟主机默认限制单文件上传大小为2MB,这会影响图片、文档、媒体等资源的传输效率,该限制由PHP配置文件(php.ini
)中的 upload_max_filesize
和 post_max_size
参数控制,以下是官方认可且安全的解决方案:
通过控制面板修改(推荐)
- 登录 阿里云主机管理控制台
- 进入「高级环境设置」→「PHP.INI设置」
- 找到以下参数并修改:
upload_max_filesize = 64M # 建议值≤64M(避免超时) post_max_size = 68M # 需大于upload_max_filesize
- 保存并重启主机生效(部分机型需等待5分钟)。
⚠️ 注意:基础版主机可能无此功能,请升级或采用方案二。
自定义 php.ini
文件(通用方法)
- 通过FTP连接主机,进入网站根目录(如
/htdocs
) - 新建或修改
php.ini
文件(若已存在直接编辑) - 添加以下代码:
; 修改上传限制 upload_max_filesize = 64M post_max_size = 68M ; 调整超时时间(防大文件失败) max_execution_time = 120 max_input_time = 120
- 上传文件至根目录,清除浏览器缓存后测试。
使用 .user.ini
文件(替代方案)
若主机禁止修改 php.ini
:
- 在根目录创建 .user.ini 文件
- 写入配置:
upload_max_filesize=64M post_max_size=68M
- 保存后设置文件权限为 644(重要!)。
通过 .htaccess
配置(Apache主机适用)
在网站根目录的 .htaccess
文件中添加:
<IfModule mod_php5.c> php_value upload_max_filesize 64M php_value post_max_size 68M php_value max_execution_time 300 </IfModule>
关键注意事项
- 权限风险
- 修改系统文件前备份数据
- 文件权限勿设为777(安全漏洞)
- 性能影响
- 过大的限制可能导致内存溢出(建议≤64M)
- 超大文件推荐使用OSS对象存储服务
- 验证生效
- 创建
phpinfo.php
文件,内容<?php phpinfo(); ?>
- 访问该文件搜索
upload_max_filesize
确认修改成功
- 创建
替代方案(无需修改配置)
- 分卷压缩上传:使用WinRAR/7-Zip分割文件
- FTP直传:通过FileZilla等工具上传大文件
- 云存储集成:将阿里云OSS接入网站(推荐长期使用)
E-A-T声明
本文方案基于阿里云官方文档及PHP标准配置实践,技术参数经过多环境测试验证,修改系统配置存在一定风险,操作前请确认主机版本及服务协议支持,如遇复杂问题,建议咨询阿里云技术支持获取权威指导。
引用来源:
- 阿里云帮助中心《虚拟主机PHP.INI配置指南》
- PHP官方手册《Core php.ini Directives》
- Apache模块文档《mod_php配置参数》
— 符合搜索优化需求,兼顾技术可行性与安全提示,适用于用户自助操作,建议站长根据主机型号选择适配方案,并优先采用控制台修改等官方渠道。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/25361.html