如何在Ubuntu 22的LAMP环境中提升PHP文件上传大小限制
在Ubuntu 22.04 LAMP环境中修改PHP上传文件大小限制
1. 定位正确的php.ini文件
Ubuntu下LAMP栈的Apache模块PHP和CLI PHP用的是不同的php.ini,你需要找到Apache实际加载的那个:
- 执行命令直接查询路径:
或者创建一个临时PHP文件(比如php -i | grep "Loaded Configuration File"info.php)放到网站根目录,内容为:
访问该文件后,搜索<?php phpinfo(); ?>Loaded Configuration File,就能看到Apache对应的php.ini路径(通常是/etc/php/[版本号]/apache2/php.ini,比如PHP 8.1就是/etc/php/8.1/apache2/php.ini)。
2. 修改上传相关配置参数
用文本编辑器(比如nano)打开找到的php.ini:
sudo nano /etc/php/8.1/apache2/php.ini
找到以下参数,修改为你需要的值(示例设置为允许20MB单文件上传):
upload_max_filesize = 20M:单个上传文件的最大大小post_max_size = 25M:整个POST请求的总大小(必须大于upload_max_filesize,因为POST还包含其他表单数据)memory_limit = 128M(可选):确保PHP有足够内存处理大文件max_execution_time = 300(可选):延长脚本执行时间,避免大文件上传超时
修改后按Ctrl+O保存,Ctrl+X退出编辑器。
3. 重启服务使修改生效
sudo systemctl restart apache2
如果你的环境用的是PHP-FPM代替mod_php(部分LAMP配置会这么做),还需要额外重启PHP-FPM服务:
sudo systemctl restart php8.1-fpm
4. 验证修改是否生效
再次访问之前创建的info.php,搜索upload_max_filesize、post_max_size等参数,确认值已经更新。或者用命令行检查CLI的配置(如果需要的话):
php -i | grep upload_max_filesize
额外注意事项
- 如果你的网站配置了虚拟主机,检查虚拟主机文件中是否有
php_value指令(比如php_value upload_max_filesize 10M),这类配置会覆盖php.ini中的全局设置,需要同步修改或删除。 - 确保服务器的文件系统有足够空间存放上传的大文件,同时Apache的临时目录(默认是
/tmp)有足够权限和空间。
内容的提问来源于stack exchange,提问作者adwivedi008
相关产品推荐
相关产品推荐

