我在Apache2上有一个应用程序。应用程序使用php文件播放视频文件,mp3文件和wav文件等媒体文件,以避免从未注册的用户直接下载。现在,我遇到了问题,因为在加载媒体文件期间,在媒体文件完全加载之前,我无法访问应用程序上的其他页面。
我不知道这是关于Apache2还是PHP的问题。任何人都可以帮我找到解决这个问题的方法吗?似乎同一个客户端无法在同一站点中加载两个PHP页面实例。
我期待你的回答。提前致谢
答案 0 :(得分:3)
如果您正在使用会话,我建议您在将文件输出到浏览器之前session_write_close()
。
这是因为在一个页面上打开会话时,在编写和释放会话之前无法加载其他页面。当脚本结束时会自动调用session_write_close()
,但由于您的输出过程在脚本结束前需要一些时间,因此会话文件被锁定,因此无法查看其他页面。
但是,如果您使用不同的浏览器和/或系统,则可以正常运行,因为锁定的会话文件对每个SESSION ID都是唯一的。
请注意:http://php.net/manual/en/function.session-write-close.php
但请注意,在session_write_close()
之后,您无法拨打session_start()
或会出现E_WARNING
警告。此外,如果您对$_SESSION
进行更改,则不会生效。