PHP上传文件“过大”错误需修改php.ini中upload_max_filesize(如50M)和post_max_size(如55M),重启Web服务器后通过check_upload.php验证生效。
如果您在使用PHP上传文件时遇到“文件过大”错误提示,通常是由于PHP默认配置限制了上传文件的大小。以下是修改PHP上传文件大小限制的具体操作步骤:
一、修改php.ini配置文件中的upload_max_filesize参数
该参数控制单个上传文件的最大允许大小,必须直接修改PHP的主配置文件才能生效。
1、找到当前PHP环境使用的php.ini文件路径,可通过创建一个PHP文件并调用phpinfo()函数查看“Loaded Configuration File”项确认。
2、使用文本编辑器以管理员权限打开php.ini文件。
3、搜索upload_max_filesize,将其值修改为所需大小,例如:upload_max_filesize = 50M。
4、保存文件并关闭编辑器。
二、同步调整post_max_size参数
该参数限制整个POST请求体的最大尺寸,其值必须大于或等于upload_max_filesize,否则上传仍会失败。
1、在php.ini中搜索post_max_size。
2、将其设为略大于upload_max_filesize的值,例如:post_max_size = 55M。
3、确保该行未被分号注释。
三、重启Web服务器使配置生效
PHP配置更改后需重启Web服务进程,否则新设置不会加
载到运行环境中。
1、若使用Apache,在命令行执行:sudo systemctl restart apache2(Linux Debian/Ubuntu)或sudo apachectl restart(macOS)。
2、若使用Nginx + PHP-FPM,需重启PHP-FPM服务:sudo systemctl restart php-fpm(具体服务名可能为php7.4-fpm、php8.1-fpm等,请根据phpinfo输出确认)。
3、重启Nginx:sudo systemctl restart nginx。
四、验证配置是否生效
通过PHP脚本读取当前运行时配置,确认修改已正确加载。
1、新建一个名为check_upload.php的文件,内容为:post_max_size: ' . ini_get('post_max_size'); ?>。
2、将该文件放入Web根目录,通过浏览器访问对应URL。
3、检查输出结果中两个值是否与php.ini中设置一致。
五、临时覆盖配置(仅适用于支持ini_set的环境)
某些共享主机不提供php.ini修改权限,可在脚本开头尝试动态设置,但该方法受限于PHP配置项是否可修改(upload_max_filesize和post_max_size通常为PHP_INI_SYSTEM级,不可运行时修改)。
1、在上传处理脚本最顶部添加:(仅对memory_limit等部分参数有效)。
2、注意:此方式无法修改upload_max_filesize和post_max_size,仅作辅助内存调整参考。








