使用 zend 框架 2 的会话上传进度


Session upload progress with zend framework 2

我正在尝试使用 zf2 实现会话上传,但失败了"没有正在进行的上传"。

我正在使用ZfcUser和HtSession。

尝试使用提供的示例模块 https://github.com/cgmartin/ZF2FileUploadExamples,但我不处理我的项目。(相同的"没有上传正在进行中")

到目前为止,我试图让它与骨架应用程序一起工作,它可以工作,但是当我添加 ZfcUser 模块时,它会给出相同的消息。正如我认为的那样,这是因为会话被zfcUser疯狂,但不知道如何避免这样的事情。在骨架应用程序+文件上传示例中,如果我使用IP地址,它可以工作,如果使用域 - not("没有上传正在进行中")

感谢您的帮助!

UPD

如果使用 uploadprogress php 扩展,它们(uploadprogress 和会话进度)都不返回任何内容。

如果清除所有会话和cookie,那么我就可以上传文件。

如果我手动添加某处会话,那么我看不到进度,有时我会在第 109 行的/var/www/html/vendor/zendframework/zend-session/src/SessionManager .php 中得到用于反序列化"Zend''Stdlib''ArrayObject"的错误数据格式,session_start() 无法解码会话对象。会话已被销毁,有时只是进度返回"没有上传正在进行"。

默认情况下配置ZF2的会话管理器是它将会话数据保存为对象。如果该对象的类对 PHP 不可用,它将无法反序列化它,从而导致错误:缺少 'Zend''Stdlib''ArrayObject'。

恕我直言,您应该将会话管理器配置为使用不同的会话名称而不是默认的 PHPSESSID,这样它就不会干扰其他脚本,例如您的上传进度脚本。