奇怪的是,put_start()会导致页面无法加载

时间:2012-05-15 13:17:33

标签: php session

页面上有session_start()的所有页面都突然停止加载,并且它已经工作多年了。即使主持人也不确定该做什么,寻找建议。

包含以下代码的示例测试页面也失败了:

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

session_start();
}
echo "hello";

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

该站点与服务器上的其他2个站点一起托管,另外2个站点没有任何问题,只是这一个站点突然开始像这样运行[没有代码在站点上被更改现在已经2个多月了。

2 个答案:

答案 0 :(得分:0)

可能未启用会话。

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

答案 1 :(得分:0)

好的,我发现了这个问题!

猜猜看,它甚至与会话无关!虽然mysql会导致会话出现这样的问题,但非常令人惊讶。

发生了什么:

我有一个主数据库服务器和一个复制从数据库设置。我服务器中的大多数页面都试图连接到从站,如果从站发生故障,它将连接到主站。然而,由于一些奇怪的原因[我还没有想到],对于db的mysql_connect只是挂起而没有超时,这反过来,由于一些奇怪的原因,不会允许任何其他具有session_start()的页面加载!

现在我不确定为什么这会对所有其他页面产生这样的副作用但是我必须禁用我的从属服务器,将我的所有查询仅路由到主服务器然后清除浏览器缓存然后才能访问该网站再次。

因此,对于无法正常工作或无法连接到[并且mysql_connect没有超时]的数据库的mysql_connect,它可能会导致服务器上任何其他页面出现加载问题 - 即使是一个简单的4行页面我在上面提出了一个问题,一个甚至没有调用数据库的页面。