在数据库中存储PHP session.upload_progress数据

时间:2015-04-25 15:52:51

标签: php session file-upload progress php-7

在PHP 5.4.40中使用session_set_save_handler,我创建了一个运行良好的会话处理程序...除了上传文件时的session.upload_progress数据。

我的会话处理程序完全忽略了上传进度数据,我似乎只能在以下情况下获取要保存的进度数据:

  • session.save_handler =文件;和
  • 会话文件保存在与session.save_path
  • 相同的路径中

是否可以在数据库中保存session.upload_progress数据?

更新:从PHP 7开始,这仍然是一个问题。因此我开了PHP 7 Bug #74131

2 个答案:

答案 0 :(得分:0)

php文档说明here

  

警告:必须禁用Web服务器的请求缓冲才能使其正常工作,否则PHP只能在完全上载后才能看到文件上载。已知Nginx等服务器可以缓冲更大的请求。

所以你想做的事情可能是不可能的......

答案 1 :(得分:0)

@Pancho我转而使用PECL uploadprogress。工作良好。必须使用mod_php而不是fastcgi / fpm。用户会话都在数据库中。