繁体   English   中英

gettype()泄漏内存

[英]gettype() leaking memory

我正在使用twitter-async库twitter进行一些oauth调用,但最终,大量内存被用完了。 我尝试运行xdebug执行跟踪,这是我感到内存泄漏的地方。

json_decode()使用47077232字节。 好的。 这可以。

但是gettype()吗? 为什么还要使用类似的内存量?

如何预防呢?

该脚本循环运行,并且内存使用率不断上升。 我在许多地方使用gc_collect_cycles() ,并且显示出改进。 但是我不明白为什么会这样。

  724.1772   47077232 +2118720             -> json_decode() /var/www/html/includes/classes/twitter/EpiTwitter.php:230
  724.1926   49157104 +2079872             -> gettype() /var/www/html/includes/classes/twitter/EpiTwitter.php:232
  724.1927   49157104       +0             -> property_exists() /var/www/html/includes/classes/twitter/EpiTwitter.php:240
  724.1927   49153520    -3584     -> EpiTwitterJson->__destruct() /var/www/html/includes/classes/twitter/EpiTwitter.php:0
  724.1949   46714808 -2438712     -> in_array() /var/www/html/cron.php:156

文档中

切勿使用gettype()测试某种类型,因为返回的字符串在将来的版本中可能会发生变化。 另外,它也很慢,因为它涉及字符串比较。

而是使用is_ *函数。

例如,使用is_arrayis_string等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM