PHP 配置变量在文件上传方面的定义


PHP Config Variable Definition in Terms of File Upload

我正在使用cakephp 2.x,为了进行文件上传,我将以下变量设置为我在互联网上找到的自定义值。

upload_max_filesize    = 110MB
max_post_size          = 120MB
max_execution_time     = 10800 (seconds)
max_input_time         = 10800 (seconds)
session.gc_maxlifetime = 10800 (seconds)

我需要帮助的是了解是否需要更改所有这些变量以允许上传大小从 30 MB 到 105 MB 的文件。

我了解upload_max_filesizemax_post_size是发布信息的大小,包括文件和任何表格和其他数据。

其他 3 个到底是什么意思? 执行时间是否包括上传所需的时间?与输入时间相同的问题。 最后一个变量(session.gc)到底是做什么的?

请注意,我在互联网上搜索了允许大文件上传所需的更改,并且我做了与网站显示的相同的更改,因此没有评论或问题说明我为什么要进行这些更改。我只是按照其他人的做法上传大文件。 如果我能找到该网站,我将用它的链接更新这个问题。

请不要只发布变量的定义。我也能够在网上找到这些,我发布这个问题的唯一原因是因为我很难理解它们与文件上传的关系。

谢谢

所有这些参数都与 php 函数 ini_set() 有关。

所有配置选项的列表可以在 PHP 文档附录/php.ini 指令列表中找到。

max_execution_time 整数:这设置脚本在被解析器终止之前允许运行的最长时间(以秒为单位)。这有助于防止编写不佳的脚本占用服务器。默认设置为 30。从命令行运行 PHP 时,默认设置为 0。最大执行时间不受系统调用、流操作等影响。有关更多详细信息,请参阅 set_time_limit() 函数。在安全模式下运行时,无法使用 ini_set() 更改此设置。唯一的解决方法是关闭安全模式或通过更改 php.ini 中的时间限制。您的 Web 服务器可以具有其他超时配置,这些配置也可能中断 PHP 执行。Apache有一个超时指令,IIS有一个CGI超时函数。两者都默认为 300 秒。有关特定详细信息,请参阅 Web 服务器文档。

max_input_time 整数:这设置了允许脚本解析输入数据(如 POST 和 GET)的最长时间(以秒为单位)。它是从服务器上接收所有数据的那一刻到脚本执行开始测量的。

session.gc_maxlifetime 整数:session.gc_maxlifetime指定数据将被视为"垃圾"并可能被清理的秒数。会话启动期间可能会发生垃圾回收(取决于session.gc_probability和session.gc_divisor)。