从 MS SQL 获取数据时 Uut 内存4294967293 [通过 PHP ODBC]


Uut of memory 4294967293 while fetching data from MS SQL [Through PHP ODBC]

我正在尝试从MS SQL获取数据,它工作正常,但是在获取一些记录后,脚本停止并抛出以下错误,

PHP 致命错误:内存不足(已分配6291456((尝试分配 4294967293 字节(

谁能帮我解决这个问题?由于我只在循环中获取记录,其中每个循环仅获取 200 个数据。

此外,MS SQL中任何字段的长度都没有varchar(max(,所有字段都只有100,200

我正在使用odbc_fetch_array来获取数据。

似乎没有足够的内存用于 php 脚本。

  1. 您应该在每次迭代中收集垃圾(不要在循环期间从变量中的数据库收集所有数据(。

  2. 尝试增加 php memory_limit

     echo ini_get("memory_limit");
     ini_set("memory_limit", "512M");
    
  3. 要确信服务器上的可用内存就足够了。可能在 linux 上使用 atop,htop。