大家早上好!
发生了什么: 我目前有一个网站,我允许用户上传文件。他们通过选择“选择”文件保存在服务器上的位置。他们最终挑选的目录存储为会话变量。一旦他们点击上传按钮,文件就会被放到该目录中。到目前为止,没问题。最初由于Apache中的设置,我遇到了大文件的问题。我更改了以下内容:
Upload_max_filesize = 2M => Upload_max_filesize = 0
memory_limit = 512M => memory_limit = -1
这意味着允许用户上传任何文件大小。这适用于400MB左右的文件没问题。当我测试16GB文件时,问题出在哪里。我相信我的理解是Apache不再限制上传大小,并且更改上述设置必须有所帮助,否则我的400 MB文件将无效。
问题:
上传进度条完成后,如果缺少保存在会话变量中的目录位置,页面将显示我已放置的错误消息。因此,我认为会话可能会超时并“忘记”会话变量。上传进度(大约需要一个小时)就是显示消息的时间。
我尝试了什么
在做了一些研究后,我尝试改变以下内容,只是为了看看它是否有所作为:
session.gc_maxlifetime = 36000
36000应= 10小时。我最终不会把它放在这里,但只是为了测试。即使改变这种情况仍然会导致我认为超时。我希望有人有建议,也许还有其他设置,也应该改变?
提前致谢!
答案 0 :(得分:0)
$seconds = 60*60*24
set_time_limit ( int $seconds )
我完全不知道答案,但我建议可能是你的最大脚本运行时间可能有限..上面的代码连同你的会话时间变量...祝你好运..请一些人投票给我,所以我可以发表自己的问题。谁编辑我的答案请访问我的个人资料,看看我发生了什么
答案 1 :(得分:0)
您的PHP文件可能会超时。默认情况下,此值为低。 (约2分钟)
试试这个:
ini_set('max_execution_time', 3600); //3600 seconds = 1 hour, or value 0 for unlimited
尝试将此值更改为更高的值,因为您描述的文件大小可能需要5分钟才能上传。