【发布时间】:2016-05-01 21:56:50
【问题描述】:
我正在运行多个具有 while 循环的 PHP 脚本。这同时从 MySQL 数据库中插入和读取。
这是一个长时间运行的过程,因此最多需要 2 小时。 我需要做的是在同一个浏览器的多个选项卡中打开脚本。 当我这样做并在多个选项卡中打开脚本时,我无法打开超过 6 个选项卡。任何超过 6 的选项卡都会继续加载并且什么也不显示。 转到其他浏览器时它可以工作,但是当我到达 6 个选项卡时它会这样做。
代码:
<?php
ini_set('memory_limit', -1);
ob_implicit_flush(TRUE);
set_time_limit(0);
$sqlselect = "SELECT * FROM old_Users Where age < 18";
$content2 = mysqli_query($conn,$sqlselect);
While($row = mysqli_fetch_assoc($content2)){
$Sql = "INSERT INTO New_Table_Users('first_name','last_name','ID') VALUES('".$row["firstname"]."','".$row["lastname"]."','".$row["idd"]."');
mysqli_query($conn,$sql);
}
?>
问题不在于 RAM、CPU,因为每当我打开新浏览器时它都可以正常工作,但是当我尝试打开第 7 个选项卡时,它只会继续加载... 所以要打开 12 个标签,我需要有 2 个浏览器,每个浏览器应该打开 6 个标签... 任何帮助将不胜感激
【问题讨论】:
-
2 小时?为什么不将其作为后台进程运行?你为什么要使用浏览器?我猜这 6 个标签用于 6 个线程?请不要这样做
-
如果运行需要很长时间,则将其作为后台任务运行,而不是在网络浏览器中运行
-
以上也可以在一个查询中完成,不需要循环。
-
我无法将其作为后台进程运行,因为我需要查看输出。这只是脚本的一部分。它缺少回声。
-
INSERT INTO New_Table_Users ('first_name','last_name','ID') SELECT ('first_name','last_name','ID') FROM old_Users Where age < 18
标签: php mysql multithreading session