首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pecl扩展php-amqp是否导致内存泄漏?

pecl扩展php-amqp是否导致内存泄漏?
EN

Stack Overflow用户
提问于 2012-10-15 21:28:55
回答 1查看 653关注 0票数 2

让我们想象一下,我们必须创建交换和队列。第一个脚本将使用pecl扩展

pastebin.com/2vzQBjtQ

第二个脚本将使用php-aqmp库http://github.com/videlalvaro/php-amqplib

pastebin.com/WurFfDSE

脚本是一样的,它们只是通过循环声明交换和队列,并演示系统内存。

运行第一个脚本,我们会得到

代码语言:javascript
复制
php /home/www/application/controllers/rabbit_memory_test.php
100 Memory usage is 23277568
200 Memory usage is 39096320
300 Memory usage is 56262656
400 Memory usage is 74784768
500 Memory usage is 94380032
600 Memory usage is 115019776
700 Memory usage is 135467008
800 Memory usage is 156147712
900 Memory usage is 177041408
It took 2.9051361083984 seconds for php.

运行第二个脚本,我们会得到

代码语言:javascript
复制
php /home/www/application/controllers/rabbit_memory_test2.php
100 Memory usage is 9306112
200 Memory usage is 9342976
300 Memory usage is 9342976
400 Memory usage is 9342976
500 Memory usage is 9342976
600 Memory usage is 9342976
700 Memory usage is 9342976
800 Memory usage is 9342976
900 Memory usage is 9342976
1000 Memory usage is 9342976
It took 2.7014260292053 seconds for php.

是在使用pecl扩展时内存泄漏,还是我错误地使用了扩展api?

EN

回答 1

Stack Overflow用户

发布于 2012-10-25 16:20:53

我解决了这个问题,把第一个脚本的代码移到循环的开头

代码语言:javascript
复制
$connection = new AMQPConnection();
$connection->connect();

// Open Channel
$channel    = new AMQPChannel($connection);
$exchange   = new AMQPExchange($channel);
$queue      = new AMQPQueue($channel);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12896644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档