跳到主要内容

如何增加 PHP 上传限制

如何增加 PHP 上传限制?在我们的服务器上,通过 PHP 脚本上传文件时,Bluehost 默认将上传限制设置为 50 MB(兆字节)。请注意,这一默认值是 Bluehost 的服务器配置,而非 PHP 的通用默认值(PHP 默认的 upload_max_filesize 通常为 2 MB)。如果您需要上传比此限制更大的文件,可以通过编辑 php.ini 文件来增加限制。本文将指导您如何通过 php.ini 更新上传限制。

您必须将 cPanel 中的 PHP 设置为某个单独的 php.ini 选项才能完成此操作。请注意,默认设置和 FastCGI 设置均无法实现此目的。有关如何更改您账户的 PHP 选项,请参阅“PHP 版本选择”。

更改您账户中的 php.ini 文件不会影响 cPanel 中的 phpMyAdmin 工具。这是因为 phpMyAdmin 使用的是仅服务器管理员可访问的不同 php.ini 文件。首先,登录您的 Bluehost 账户。


  • 编辑 upload_max_filesizepost_max_size
  • memory_limit
  • max_execution_timemax_input_time
  • Apache 设置
  • 其他选项
  • 总结

编辑 upload_max_filesizepost_max_size

  1. 登录您的 Bluehost 账户管理器。
  2. 登录后,进入 账户管理器 控制面板中的 托管 标签。
  3. 所有我的托管套餐 部分,选择您希望管理的托管套餐名称。
    • 如果您的账户中有多个托管套餐, 请点击您想管理的托管套餐旁的 管理 按钮。
    • 如果您的账户中只有一个托管套餐, 您将自动跳转到 托管概览 页面。
  4. 点击 快速链接 部分下的 文件管理器 按钮。
    提示: 如果您正在操作账户的主域名,可以访问 public_html 文件夹;如果是特定的附加域名,则访问以该附加域名命名的根文件夹。这些文件夹通常包含您的 php.ini 文件。
  5. 在右侧面板中向下滚动找到 php.ini 文件,右键单击它。
  6. 在弹出菜单中选择 编辑
  7. 使用快捷键打开 查找 弹窗。
    Windows 和 Linux :Ctrl + f
    Mac :Command (⌘) + f
  8. 查找 upload_max_filesize 设置,在搜索栏中输入并回车。
  9. 增加允许上传的最大文件大小,找到
    upload_max_filesize = 50M
    并将值 50M 修改为所需大小。
  10. 打开查找弹窗,在 搜索 字段输入 post_max_size,按回车。
  11. 高亮显示的为
    post_max_size = 50M
    必须将其更改为与 upload_max_filesize 相同的数值。
    upload_max_filesize
  12. 点击 保存 按钮以保存更改。

注意 :如果您在文件管理器中找不到 php.ini 文件,您可以使用 MultiPHP INI 编辑器(MultiPHP INI Editor)生成并修改 PHP 的值和限制。

memory_limit

当 PHP 引擎处理传入的 POST 请求时,必须将部分传入数据保存在内存中。此指令仅在您配置时使用了 --enable-memory-limit 选项时生效。设置过高的值可能非常危险,因为多个上传同时进行时可能导致内存限制达到上限,从而影响服务器性能。

max_execution_timemax_input_time

这些设置定义了脚本的最大生命周期以及脚本接受输入的时间。如果传输的数据量达到数兆字节,max_input_time 应该设置得相对较高。
您可以通过在脚本中调用 set_time_limit() 函数来覆盖 .ini 文件中 max_input_time 的设置。

Apache 设置

Apache 网络服务器有一个 LimitRequestBody 配置指令,用于限制所有 POST 数据的大小,无论使用何种网络脚本语言。一些 RPM 安装将限制请求体大小设置为 512KB。您必须将其更改为更大的值或完全移除该条目。

其他选项

如果您预计网站上会处理大量并发文件传输,建议考虑使用 PERL 或 Java 服务器端组件。PHP 是我们首选的网页编程语言,但 PERL 在处理文件时可能略有优势。
大多数作为 Apache 模块安装的 PERL 默认可接受高达 32 MB 的数据,相比之下,PHP 的通用默认限制为 2 MB(请注意,Bluehost 服务器默认设置为 50 MB)。缺点是 PERL 编码比 PHP 更费力,但这是值得的。

总结

如果您需要上传比 Bluehost 服务器通过 PHP 脚本上传文件时默认限制的 50 MB 更大的文件,可以通过编辑 php.ini 文件来增加限制。按照本文所述步骤,您可以轻松通过 php.ini 增加 PHP 上传限制。请记得将 cPanel 中的 PHP 设置为单独的 php.ini 选项以完成此操作。此外,请注意 memory_limitmax_execution_time 等各种设置,它们会影响服务器性能。如果您遇到任何问题或有进一步疑问,请随时联系支持寻求帮助。