PHP修改php.ini配置文件增大上传文件大小限制

Jasper
Jasper
发布时间:2026-10-16| 5人浏览过
原创

在使用PHP开发或部署Web应用时,常因默认配置导致大文件上传失败。要解决此问题,需找到服务器上的 php.ini 配置文件位置,调整上传相关参数如 upload_max_filesize 和 post_max_size,最后重启Web服务使更改生效。

确认 php.ini 配置文件路径

php.ini 是PHP的核心配置文件,保存了诸如文件上传限制等重要属性。在Windows本地开发环境中,我们通常通过集成环境(如XAMPP、WAMP)的界面查看该文件路径;但在Linux生产或测试服务器上,直接编辑文件前必须先确认其准确位置。

第1步:获取当前环境的php.ini位置

虽然可以编写一个包含 phpinfo() 函数的PHP页面在浏览器中打开来查看,但在Linux命令行下有更高效的方法。直接使用以下命令即可输出完整的PHP信息:

php -r "phpinfo();"

执行后,屏幕上会滚动输出大量信息,其中第一项即为 php.ini 文件的加载路径。

如果你无法确定具体路径,也可以尝试通过 php --ini 命令直接显示配置文件位置,或者观察报错提示。例如在某些环境下,可能因为未正确加载配置文件而显示缺失状态:

一旦通过上述方法(如图三所示的输出结果)锁定了文件路径,就可以直接在终端中跳转到该目录。

第2步:修改上传相关配置参数

使用 vim 编辑器打开 php.ini 文件:

vim php.ini

由于配置文件通常较长,建议在编辑器中使用搜索功能(输入 :set number 显示行号,然后输入 /upload_max_filesize 进行查找),该部分配置通常位于文件的后半段。以下是需要重点关注和修改的几个核心参数:

  • file_uploads = On:
    是否允许通过HTTP上传文件,默认为 On。如需禁用上传,可改为 Off。
  • upload_tmp_dir = /tmp:
    指定文件上传时在服务器上存储临时文件的目录,确保该路径存在且Web服务器用户有读写权限。
  • upload_max_filesize = 8M:
    允许上传的文件最大值。PHP默认值通常为 2M 或 8M,需根据实际需求增大(如 32M)。
  • post_max_size = 8M:
    表单POST给PHP所能接收的最大值,包括所有表单字段及文件数据。默认通常也为 8M。

重要提示:如果计划上传大于 8M 的大文件,仅仅修改文件大小限制是不够的,还需要调整执行时间和内存限制,否则可能会导致脚本超时或内存耗尽:

  • max_execution_time = 600:
    每个PHP页面运行的最大时间(秒),默认 30 秒。大文件上传耗时较长,建议设为 600 或更高。
  • max_input_time = 600:
    解析请求数据所需的最大时间,默认 60 秒,同样建议调高。
  • memory_limit = 32M:
    每个PHP页面消耗的最大内存,默认 8M。若上传文件较大,需相应增加此值以容纳文件内容。

将上述参数修改为适合你业务需求的值。以下是一份常见的针对大文件上传的配置参考(以32MB为例):

file_uploads = On
upload_tmp_dir = /tmp
upload_max_filesize = 32M
post_max_size = 32M
max_execution_time = 600
max_input_time = 600
memory_limit = 32M

修改完成后,在 vim 中按 Esc 键,输入 :wq 保存并退出。

重启服务使配置生效

修改 php.ini 后,必须重启Web服务器才能使更改真正生效。在CentOS/RHEL等使用System V init服务的系统中,可以使用以下命令重启Apache:

service httpd restart

如果是使用Nginx配合PHP-FPM的环境,则需要重启的是PHP-FPM服务,例如:

systemctl restart php-fpm.service # 或 php7.x-fpm 等服务名

服务重启成功后,建议再次通过 phpinfo() 检查 upload_max_filesize 等参数是否已更新为新值。此时再尝试上传大体积文件,应在网络状况正常的情况下能够成功完成。

以上就是修改PHP上传文件大小限制的详细内容,更多关于PHP配置优化与大文件传输的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。