- 最简单地使用swoole的异步mysql客户端获取10万数据,在一个环境下的php7下花费一段长时间后能执行query的回调方法输出数据,但是在另外一个环境的php5.4下却什么报错都没有直接退出了,没有执行到query的回调的函数。
我猜测是PHP的配置不同影响的,1万数据是没问题,但是不知道应该怎么修改配置
$db->connect($server, function ($db, $r) {
$dbPreix = "m_";
if ($r === false) {
var_dump($db->connect_errno, $db->connect_error);
die;
}
//获取队列数据
$sql = 'SELECT queue_id,group_id,content,data,keyword FROM '.$dbPreix.'_queue '.
'WHERE 1=1 limit 100000';
$db->query($sql, function(swoole_mysql $db, $r) {
print_r($r);
});
你这应该是内存溢出导致的。内存溢出的配置是
php.ini
,可能配置不一样导致。解决方法:不要一次性查询,分批次查询在回调(做法参考分页原理)