Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在数据库中存储PHP session.upload_进度数据_Php_Session_File Upload_Progress_Php 7 - Fatal编程技术网

在数据库中存储PHP session.upload_进度数据

在数据库中存储PHP session.upload_进度数据,php,session,file-upload,progress,php-7,Php,Session,File Upload,Progress,Php 7,使用PHP5.4.40中的session_set_save_处理程序,我创建了一个运行良好的session处理程序……上传文件时session.upload_进度数据除外 我的会话处理程序完全忽略上载进度数据,并且我似乎只能在以下情况下获取要保存的进度数据: session.save_handler=文件;及 会话文件保存在与session.save_路径相同的路径中 是否可以在数据库中保存session.upload\u进度数据 更新:在PHP7上,这似乎仍然是一个问题。因此,我打开了ph

使用PHP5.4.40中的session_set_save_处理程序,我创建了一个运行良好的session处理程序……上传文件时session.upload_进度数据除外

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

  • session.save_handler=文件;及
  • 会话文件保存在与session.save_路径相同的路径中
是否可以在数据库中保存session.upload\u进度数据


更新:在PHP7上,这似乎仍然是一个问题。因此,我打开了php文档,上面说:

警告:必须禁用web服务器的请求缓冲才能正常工作,否则PHP可能仅在完全上载文件后才能看到文件上载。众所周知,Nginx等服务器可以缓冲较大的请求


所以你想做的可能是不可能的…

@Pancho我改用PECL-uploadprogress。很好。必须使用mod_php,而不是fastcgi/fpm。用户会话都在数据库中

谢谢,但我不确定我是否理解:进度数据完美地写入到文件中-为什么不同的写入目的地会有任何不同?好吧,那很好。如果你能把它写进一个文件,你就可以把它写进一个数据库!我以为您无法访问该信息。是的,session.upload\u进度数据写入“正常”/tmp/sess\u。。。“但完全忽略我的会话处理程序。因此,上传数据100%写入文件,但不写入数据库。因此,如果使用会话处理程序,$\u session将返回除session.upload\u进度数据之外的所有会话信息。如果无法纠正此问题,那么就我所知,session.upload\u进度处理与正常的$\u会话处理不一致,并且使PHP文件上载机制对“大于1”的web服务器环境无效。您是否找到了解决方案?我现在正在处理这个问题,试图在我的数据库中使用$\会话时让session.upload\进度正常工作。@eric-抱歉,令人沮丧的是,据我所知,在PHP 5.6.8中,这个问题仍然没有解决-如果有人知道不同的,请!谢谢你让我认识埃里克!您正在运行什么版本的PHP?它是7.x还是仍然是5?运行5.6.xxx非常感谢Eric-我们的APCu方法也在5.6上100%工作;可悲的是,这是我正在苦苦挣扎的第7个问题(如果有兴趣,请查看我在上面的PHP上打开的bug/问题,如果您同意,请随意投票表决该问题,以帮助获得牵引力:)