上传主题提示 upload_max_filesize 超限怎么修改 php.ini

文章导读
修改 php.ini 中的 upload_max_filesize 和 post_max_size 参数即可解决上传超限问题,独立服务器需重启 PHP 服务生效,虚拟主机可能无法直接修改。
📋 目录
  1. 命令速用版
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
  7. 参考来源
A A

修改 php.ini 中的 upload_max_filesize 和 post_max_size 参数即可解决上传超限问题,独立服务器需重启 PHP 服务生效,虚拟主机可能无法直接修改。

先说结论:独立服务器直接修改配置文件并重启服务,虚拟主机需联系服务商或使用 .user.ini

  • 适合:拥有服务器 root 权限或独立 PHP 环境
  • 先准备:确认 php.ini 路径和当前 PHP 版本
  • 验收:通过 phpinfo() 页面确认参数已变更

命令速用版

通过命令行快速定位配置文件路径并重启服务。

php `--ini` | grep "Loaded Configuration File"
systemctl restart php-fpm

如果是 Apache 环境,使用 service apache2 restart 重启。

为什么会这样

PHP 默认限制上传文件大小以防止服务器资源被滥用。

upload_max_filesize 控制单个文件上传大小,post_max_size 控制 POST 请求总数据量。主题文件通常超过默认限制,导致上传被拦截。

分步处理

1. 查找 php.ini 路径:执行 php `--ini` 命令查看 Loaded Configuration File 指向的文件。

2. 修改配置参数:使用编辑器打开文件,搜索 upload_max_filesize 和 post_max_size,将值改为大于主题包的大小,例如 64M。

3. 重启 PHP 服务:修改 ini 文件后必须重启 PHP-FPM 或 Web 服务器才能生效。

4. 回滚提醒:修改前备份原配置文件,以便出错时恢复。

怎么验证是否生效

在网站根目录创建 phpinfo.php 文件,写入 <?php phpinfo(); ?>,浏览器访问该页面搜索 upload_max_filesize 确认新值。

上传主题提示 upload_max_filesize 超限怎么修改 php.ini

检查完成后删除 phpinfo.php 文件以防信息泄露。

常见坑

post_max_size 必须大于或等于 upload_max_filesize,否则上传会失败。

Nginx 服务器还需修改 client_max_body_size 参数,否则请求会被 Nginx 拦截。

虚拟主机通常禁止修改 php.ini,需尝试 .user.ini 或联系主机商。

常见问题

修改后为什么没有生效?

没有重启 PHP 服务或修改了错误的 php.ini 文件路径。

虚拟主机怎么修改上传限制?

尝试在根目录创建 .user.ini 文件写入配置,或直接联系主机服务商调整。

upload_max_filesize 和 post_max_size 有什么区别?

前者限制单个文件大小,后者限制整个 POST 请求数据总量,包含文件和其他表单数据。

参考来源

PHP Official Documentation - ini.core.php

https://www.php.net/manual/en/ini.core.php