2

页面上有 session_start() 的所有页面都突然停止加载,并且它已经像这样工作了多年。连主人都不确定该怎么办,寻求建议。

带有以下代码的示例测试页也失败了:

error_reporting(1);
if(!$_REQUEST['disable']=="yes")
{

session_start();
}
echo "hello";

如果我在不传递参数的情况下调用页面?disable=yes 页面不会加载,它只是挂起处理

该站点与服务器上的其他 2 个站点一起托管,其他 2 个没有任何问题,只是这个站点突然开始像这样 [没有代码在站点上更改 2+现在几个月]。

4

2 回答 2

0

好的,我发现了问题!

你猜怎么着,它甚至与会话无关!尽管 mysql 会导致会话出现此类问题,这很令人惊讶。

所以发生了什么事:

我有一个主数据库服务器和一个复制从数据库设置。我服务器中的大多数页面都在尝试连接到从站,如果从站失败,它将连接到主站。然而,出于某种奇怪的原因[我还没有想到],连接到从属数据库的 mysql_connect 只是挂起而没有超时,而这反过来又出于某种奇怪的原因,不允许任何其他具有 session_start() 的页面加载!

现在我不确定为什么这会对所有其他页面产生这样的副作用,但我不得不禁用我的从属服务器,只将我的所有查询路由到主服务器,然后在我可以再次访问该站点之前清除我的浏览器缓存.

因此,一个 mysql_connect 到一个不起作用或无法连接到的数据库[并且 mysql_connect 没有超时],它可能会导致服务器上的任何其他页面无法加载 - 甚至是我放的一个简单的 4 行页面在我上面的问题中,一个甚至不调用数据库的页面。

于 2012-05-16T05:33:51.467 回答
0

也许会话未启用。

用于phpinfo();将 php 设置输出到屏幕并查看靠近底部的会话表。应该说Session Support => enabled

于 2012-05-15T13:32:53.740 回答