PDO-SQLServer更改最大数据限制



我有Windows Server+MSSQL2017+php7.3.13+PDO(PDO_sqlsrv和sqlsrv(

PHPInfo: memory_limit=16M  /  both buffer_max_kb_size=10240 

如果我从数据库中得到的数据小于600kb,那么这段代码就可以正常工作。如果我想得到更多的字符串,我什么也得不到。没有错误。快速执行和白色屏幕。我看到一些增加buffer_max_kb-params的建议,但在我的phpinfo中,我看到它们设置为10M。我的最大数据大小是2M(为了测量数据大小,我在MSSM中执行查询并将结果保存为文本(所以肯定还有另一种选择,但它是什么?找不到任何东西(

代码:

try{
$conn = new PDO( "sqlsrv:Server= $host ; Database = $db ", $user, $pwd);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "select * from tabl";
$stmt = $conn->query($sql);
return $stmt->fetchAll(PDO::FETCH_NAMED);
}
catch(Exception $e){
die(print_r($e));
}

我的错误是,我测量了文本中的数据,并确定它是一个小体积。但是使用SQLSRV_CURSOR_BUFFERED帮助我发现数据大小要大得多。最后,我使用了ini_set('memory_limit','256M'(,它起作用了。

但这是不可理解的——2M的数据需要至少200M的内存?

最新更新