十分钟内发出约 25 个 PHP 请求后被阻止

十分钟内发出约 25 个 PHP 请求后被阻止

我们有一个管理门户,我们在该门户中使用 Ajax 通过 JavaScript 门户运行 PHP 函数以达到管理目的。

例如,我们可能有一个名为的函数,updateAllDatabaseEntries()它会快速连续调用 AJAX 函数,每个函数都会执行大量 SQL 查询。

问题是,从同一台计算机连续发出几个请求后(数量不多,十分钟内可能 30 个),系统将停止响应来自我计算机的任何 PHP、HTTP 请求等。从办公室的其他计算机仍可访问面板,大约 15 分钟后恢复对这台计算机的访问。

我们相信这不是故障,而是我们服务器内置的某种安全功能,可能与 Suhosin 有关,并且可能是出于好意,但目前阻止我们运行系统管理。

服务器信息: Linux 2.6.32-5-xen-amd64 #1 SMP 2011 年 3 月 8 日星期二 00:01:30 UTC x86_64 GNU/Linux

答案1

听起来就像会话锁定,这是 PHP 的典型特征。如果您有一个需要会话的长期运行进程,则会话将不会释放,直到该进程完成为止。

当您被锁定时,您是否查看过服务器上的输出top,以查看是否有相应的 PHP 进程正在运行?如果是,您是否尝试过重新启动 PHP,这不是解决方案,但这样做后,您会注意到会话不再处于“锁定”状态。如果您清除浏览器上的域 cookie,通常也会出现同样的情况。

如果是这个问题,那么您应该能够在同一台电脑上使用另一个浏览器,而且即使另一个浏览器被锁定,该浏览器也应该可以工作。

相关内容