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

修改PHP配置后仍无法上传大于2MB文件,配置未生效

解决PHP文件上传配置不生效的问题

我来帮你梳理下问题所在,你遇到的情况其实是很多PHP新手都会踩的坑——看似改了配置,但实际没命中生效的文件,导致上传限制还是没放开。

核心问题:你修改的是备份模板文件,不是真正生效的php.ini

.default后缀的文件一般是系统默认的配置备份或模板,PHP运行时根本不会加载它。虽然phpinfo()显示Configuration File (php.ini) Path: /etc,但这只是PHP的默认搜索路径,真正正在使用的配置文件是Loaded Configuration File这一项显示的路径(你可以再仔细看一眼localhost/index.php里的PHP信息,找这个字段),通常它是/etc/php.ini(没有.default后缀)。

一步步解决的步骤:

  1. 定位真正生效的php.ini文件
    打开你的localhost/index.php(显示PHP信息的页面),找到Loaded Configuration File这一行,复制它的路径(比如/etc/php.ini),这才是你需要修改的文件。

  2. 修改正确的配置文件
    用编辑器打开这个文件,找到对应的配置项,确保修改后是这样(注意去掉配置行前面的分号;,分号代表注释,不会生效):

    ; Maximum allowed size for uploaded files.
    upload_max_filesize = 500M
    ; Must be greater than or equal to upload_max_filesize
    post_max_size = 500M
    

    注意把注释和配置行分开,不要把配置写在注释行后面,避免解析错误。

  3. 重启正确的服务

    • 如果你的PHP是通过Apache的mod_php模块运行的,重启Apache服务就可以;
    • 如果是用PHP-FPM(比如搭配Nginx,或者部分Apache环境也会用),除了重启Apache,还要重启PHP-FPM服务(比如systemctl restart php-fpm,具体命令根据你的系统调整)。
  4. 验证配置是否生效
    不要用终端的php -i验证!因为命令行CLI的PHP和Web服务器使用的PHP可能加载不同的配置文件,终端显示的是CLI环境的配置,和Web上传无关。你需要刷新localhost/index.php的PHP信息页面,查看upload_max_filesize和post_max_size是否已经变成500M,这才是Web环境的真实配置。

额外提醒

如果修改后还是没生效,可以检查:

  • 有没有其他地方的配置覆盖了这些值(比如.htaccess文件里的php_value配置,或者PHP-FPM的池配置文件);
  • 确保你的编辑器保存了修改,并且文件权限正确(PHP进程能读取这个配置文件)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:00:19