[英]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_array
, is_string
等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.