gpt4 book ai didi

javascript - 服务器崩溃了

转载 作者:行者123 更新时间:2023-11-28 07:34:11 25 4
gpt4 key购买 nike

我正在运行一个长轮询脚本来从数据库中获取数据。在将我的脚本移至 MVC 之前,它工作得很好。

我查看了 chrome 开发人员工具,它没有显示任何内容,但页面只是继续加载,当我刷新时它不会加载,我必须关闭我的 xampp 服务器或关闭我的浏览器。 ..这是我的脚本:

class SystemController extends Controller
{

public function lastbid()
{

set_time_limit(0);


// main loop
while (true) {


//get the product info
$getbidresult = ProductModel::bidprice(Request::get('item'));

// if ajax request has send a timestamp, then $last_ajax_call = timestamp, else $last_ajax_call = null
$last_ajax_call = Request::get('timestamp');


// get timestamp of when file has been changed the last time
$lastbid = isset($getbidresult->timestamp) ? $getbidresult->timestamp : 0;

// if no timestamp delivered via ajax or data.txt has been changed SINCE last ajax timestamp
if ($last_ajax_call == null || $lastbid > $last_ajax_call) {

// put last bid info into an array
$result = array(
'bidamount' => isset($getbidresult->amount) ? System::escape($getbidresult->amount): 0,
'timestamp' => System::escape($lastbid)
);

// encode to JSON, render the result (for AJAX)
$json = json_encode($result);
echo $json;

// leave this loop step
break;

} else {
// wait for 1 sec (not very sexy as this blocks the PHP/Apache process, but that's how it goes)
sleep(10);
continue;
}
}

}
}

这就是我用 JS 抓取数据的方式。

function getContent(timestamp)
{
var queryString = {
'timestamp': timestamp
};
$.ajax(
{
type: 'GET',
url: '<?php echo Config::get('URL'); ?>system/lastbid?item=<?php echo System::escape($recentitem->id); ?>',
data: queryString,
success: function(data)
{
var obj = jQuery.parseJSON(data);
$('#bidprice-<?php echo System::escape($recentitem->id); ?>').html(obj.bidamount);
getContent(obj.timestamp);
}
});
}
$(function()
{
getContent();
});
$(document).ready(function() {
});

我查看了 apache 日志,但没有结果,除非我找错了地方。代码中是否有任何内容看起来不合适,据我所知,但我可能忽略了某些内容。

我在 foreach 中有脚本,因此我可以为每个产品启动 div。

编辑、查看 apache 和 mysql 日志,但什么也没显示。会不会是内存泄漏?

最佳答案

我想我已经在外部网站某人的帮助下修复了这个问题。这与 sleep() 有关

我已经使用以下方法修复了它:

  session_write_close(); 

在报告回来之前,我会做更多测试,看看它的表现如何。以及原因等等

关于javascript - 服务器崩溃了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28787479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com