4

我使用 wamp 在 Windows 7 机器上进行开发。对于这个应用程序,我有一个管理区域,它使用 $_SESSION 跟踪管理员用户名和加密密码,以及一个跟踪随机生成的密码加密密钥的 cookie。

我将cookie设置为:

setcookie('key', $key, time()+7200, 'admin/');

在管理员用户输入用户名和密码详细信息以登录后,管理员用户验证在每个管理页面上运行。

该站点和管理员的目录结构是:

localhost/mysite/
locahost/mysite/admin/

会话在管理部分运行,会话也在前端的用户界面中运行,以跟踪选择的搜索条件。

当我在管理区域运行长数据库查询时,即。多次更新和插入,每次迭代都需要连接到外部 API,我无法在同一个浏览器中加载前端用户界面,即。firefox 直到管理员操作完成后。如果我使用不同的浏览器,即。chrome ,我可以在运行 admin mysql 功能时毫无问题地加载站点的前端。

我想在这些操作运行时查看该站点,并使用相同的浏览器。这是一个小问题,但我想知道如何解决它,因为我想学习。我的意思是我可以告诉自己这没关系,因为当我打开另一个浏览器时,该网站运行良好,而且最终用户在查看该网站时不会运行管理操作,所以从这个角度来看,它没有没关系,但我很好奇。

在管理操作运行时阻止我查看站点的会话和 cookie 是怎么回事?我的问题甚至是一个好问题吗?我的一部分认为这是一个愚蠢的问题,因为最终该站点在单独的浏览器中运行良好。无论如何,感谢您的观看!

4

1 回答 1

2

我认为您的会话已被锁定。在需要很长时间运行的页面上,在顶部添加这个:session_write_close();应该可以修复它。

于 2013-05-15T15:50:54.650 回答