0

我正在使用 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什么?

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

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

谢谢

4

1 回答 1

1

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

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

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

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

session.gc_maxlifetime integer: session.gc_maxlifetime 指定数据将被视为“垃圾”并可能被清理的秒数。垃圾收集可能在会话开始期间发生(取决于 session.gc_probability 和 session.gc_divisor)。

于 2012-08-16T13:54:15.627 回答