繁体   English   中英

session_write_close()是否仅通过https请求失败?

[英]session_write_close() failing just on request over https?

以下情况:

  • Apache2 Web服务器
  • PHP版本5.5.38(模块)(暂时无法升级)

可通过http://www.test-environment.com访问测试环境
可通过https://www.productive-environment.com访问生产环境
(虚构领域)

这两个系统位于同一台机器上:

  • / www / htdocs / myuser / test(测试环境的Webroot,可通过http访问)
  • / www / htdocs / myuser / productive(生产环境的Webroot,强制使用HTTPS)

我得到了以下代码,并在两个系统上执行了它们,但是它们的行为有所不同:

session_write_close_test.php

<?php
session_start();

// Some logic here, but doesn't matter in the test case...

session_write_close();
set_time_limit(30);

$counter = 30;

while ($counter > 0) {
    sleep(1);
    $counter -= 1;
}

通过http://www.test-environment/session_write_close_test.php在我的测试环境上调用脚本(仅HTTP),并在这30秒内在另一个选项卡中调用http://www.test-environment.com ,一切正常。 无阻塞。 session_write_close()似乎有效。

在此30秒内的另一个选项卡中,调用https://www.productive-environment.com/session_write_close_test.php并调用https://www.productive-environment.com :没有,直到测试脚本结束。 session_write_close()似乎不起作用。

对这种行为有任何解释吗? 两个系统使用相同的配置。 我已经尝试更改会话保存路径,以防止任何文件写入权限问题,可惜没有任何效果。

提前致谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM