在Ubuntu上调PHP文件上传大小限制这事儿,说难不难,但新手第一次搞总容易卡在某个环节。其实核心就是改一个配置文件php.ini,下面把步骤拆开讲清楚,跟着走一遍就能搞定。

1. 找到php.ini文件
首先得知道PHP的配置文件藏在哪里。终端里跑个命令就能找到:
php --ini
它会告诉你加载的是哪个配置文件。常见路径是 /etc/php/版本号/apache2/php.ini 或 /etc/php/版本号/cli/php.ini,具体看你用的是Apache还是命令行。版本号比如8.1、7.4之类的,这个根据你实际安装的PHP版本来定。
2. 编辑php.ini文件
找到后,用文本编辑器打开。推荐用nano,简单直观:
sudo nano /etc/php/版本号/apache2/php.ini
如果你是CLI模式(比如跑脚本),那就编辑另一个:
sudo nano /etc/php/版本号/cli/php.ini
3. 修改上传大小限制
翻到文件里找到这两行:
upload_max_filesize = 2M
post_max_size = 8M
upload_max_filesize控制单个文件能上传的最大值。post_max_size控制整个POST请求的总大小,一般要比upload_max_filesize大一点。
打个比方,你想允许用户上传最大10MB的文件,那就改成:
upload_max_filesize = 10M
post_max_size = 12M
注意:post_max_size 必须大于等于 upload_max_filesize,否则文件传不上去会报错。
4. 保存并退出
在nano里按 Ctrl + O 保存,再按 Ctrl + X 退出。
5. 重启Web服务器
配置改完别指望马上生效,得让服务重读配置文件。如果用的是Apache:
sudo systemctl restart apache2
如果是Nginx + PHP-FPM的组合,需要重启两个服务:
sudo systemctl restart php版本号-fpm
sudo systemctl restart nginx
6. 验证更改
最后一步,确认设置是否真的生效。建一个测试文件 info.php,内容就一行:
把它放到Web根目录(比如 /var/www/html),然后在浏览器里访问 http://你的服务器IP/info.php。在密密麻麻的配置信息里直接搜 upload_max_filesize 和 post_max_size,看到数值变成你改的10M和12M,就说明成功了。
搞定收工。记住一点:upload_max_filesize 和 post_max_size 是配套的,改一个就得想着另一个,不然容易踩坑。