最近写个程序的时候,发现个问题
在某些服务器上,同一个用户访问网页的时候,如果一个页面的Mysql没有执行完毕,则该用户打不开其他网页比如下边这个小代码:$db = new mysql();
for ($i = 1 ; $i < 100 ; $i++){
echo $i;
$sql = "insert into test (test,test2) value ('".$i."','aaaaaaaaaaaaaaaaaa')";
$result = $db->query($sql) or die(mysql_error());
sleep(1);
}
我运行这个网页,然后其他网页中如果有查询mysql的,就卡死,
直到这个网页全部执行完毕,其他网页才开始查询
不过我也发现,只有执行这个页面的用户打不开其他网页,其他的用户是可以正常打开的
这个是服务器mysql的配置问题吗?
或者说,这个问题有办法解决吗
在某些服务器上,同一个用户访问网页的时候,如果一个页面的Mysql没有执行完毕,则该用户打不开其他网页比如下边这个小代码:$db = new mysql();
for ($i = 1 ; $i < 100 ; $i++){
echo $i;
$sql = "insert into test (test,test2) value ('".$i."','aaaaaaaaaaaaaaaaaa')";
$result = $db->query($sql) or die(mysql_error());
sleep(1);
}
我运行这个网页,然后其他网页中如果有查询mysql的,就卡死,
直到这个网页全部执行完毕,其他网页才开始查询
不过我也发现,只有执行这个页面的用户打不开其他网页,其他的用户是可以正常打开的
这个是服务器mysql的配置问题吗?
或者说,这个问题有办法解决吗
多个页面调用一个包含页面中的函数或者类时,总是等一个页面的这个函数执行完毕之后,其他页面才会执行
这是什么原理啊,例子function test(){
for ($i = 0 ; $i<10 ; $i++){
echo date('H:i:s')."<br>";
sleep(1);
}
}把这段代码保存为一个文件,然后 a.php 和b.php 同时包含这个文件,调用 test() ,总是其中一个执行完后,另一个才开始执行
纠结啊