在Ubuntu系统中配置PHP的upload_max_filesize参数详解
当您在Ubuntu服务器上处理大文件上传时,PHP默认的2MB限制往往无法满足实际需求。本文将为您详细讲解如何在Ubuntu系统中调整PHP文件上传大小限制,涵盖两种主流配置方法及验证步骤,帮助您快速解决文件上传限制问题。

方法一:通过修改php.ini配置文件
这是最根本、最推荐的配置方式,适用于所有PHP运行环境。按照以下步骤操作,您可以安全地调整文件上传限制。
-
定位
php.ini配置文件:- 配置文件的位置取决于您的PHP版本和运行模式。通常路径为
/etc/php/8.1/apache2/php.ini(Apache环境)或/etc/php/8.1/cli/php.ini(命令行环境)。请将“8.1”替换为您实际安装的PHP版本号。 - 若不确定配置文件位置,可在终端执行以下命令查看所有加载的配置文件路径:
php --ini
- 配置文件的位置取决于您的PHP版本和运行模式。通常路径为
-
编辑
php.ini配置文件:- 使用文本编辑器(如nano或vim)以管理员权限打开配置文件。例如Apache环境:
sudo nano /etc/php/{version}/apache2/php.ini - 若需修改CLI配置:
sudo nano /etc/php/{version}/cli/php.ini
- 使用文本编辑器(如nano或vim)以管理员权限打开配置文件。例如Apache环境:
-
调整
upload_max_filesize参数:- 在文件中搜索“upload_max_filesize”参数。找到后,将等号后的数值修改为您需要的大小,例如
100M。若未找到该参数,可在文件末尾添加:upload_max_filesize = 100M - 您可根据实际需求设置为20M、500M或更大数值,支持单位包括K(千字节)、M(兆字节)、G(千兆字节)。
- 在文件中搜索“upload_max_filesize”参数。找到后,将等号后的数值修改为您需要的大小,例如
-
同步修改
post_max_size参数:- 此步骤至关重要!
post_max_size参数控制整个POST请求的最大尺寸,必须大于或等于upload_max_filesize的设置值。建议设置为相同数值或稍大一些:post_max_size = 100M
- 此步骤至关重要!
-
保存配置文件并退出编辑器:
- 以nano编辑器为例,按
Ctrl + X组合键,输入Y确认保存,再按Enter键退出。
- 以nano编辑器为例,按
-
重启Web服务使配置生效:
- 修改后需重启相应服务才能生效。根据您的服务器环境选择:
- Apache服务器:
sudo systemctl restart apache2 - Nginx配合PHP-FPM环境(推荐):重启PHP-FPM服务,Nginx通常无需重启:
sudo systemctl restart php{version}-fpm # 为确保配置生效,也可重启Nginx sudo systemctl restart nginx
- Apache服务器:
- 修改后需重启相应服务才能生效。根据您的服务器环境选择:
方法二:通过.htaccess文件配置(仅限Apache服务器)
如果您没有服务器全局配置权限(如共享主机环境),或只需对特定网站目录生效,可使用.htaccess文件进行配置。请注意,此方法仅适用于Apache服务器,且需确保Apache配置允许.htaccess覆盖PHP设置。
操作非常简单:在网站根目录(或特定子目录)下,创建或编辑.htaccess文件,添加以下两行配置:
php_value upload_max_filesize 100M
php_value post_max_size 100M
保存后,配置将立即对该目录及其子目录生效,无需重启任何服务。
验证配置是否生效
完成配置后,建议通过以下方法验证设置是否成功应用:
创建一个名为info.php的测试文件,内容如下:
将该文件放置于网站根目录,通过浏览器访问(例如:https://您的域名/info.php)。页面将显示所有PHP配置信息。使用浏览器搜索功能(Ctrl+F),查找“upload_max_filesize”和“post_max_size”参数,确认其值已更新为您设置的大小。
验证完成后,务必删除info.php文件,避免泄露服务器敏感信息。
按照以上步骤操作,您就能在Ubuntu系统中成功调整PHP文件上传大小限制,确保网站能够顺利处理大文件上传需求。
