2014-06-12 89 views
1

我通常使用php IMAP功能,但不要关闭IMAP流。是必要的,有什么好处?是否需要使用imap_close?

我有一个内部网面板,可以读取我的电子邮件帐户。 ajax调用从打开IMAP连接的PHP脚本获取电子邮件。但是我用ajax很多次地调用了这个PHP,大约每2秒钟大约30秒。我每次都打开一个新连接,但不要关闭它。

使用此文件时,有时会出现奇怪的延迟。可以保持IMAP连接打开导致问题?

+1

这难道不容易测试吗?放入imap_close,看看你的问题是否消失。 – ceejayoz

+0

当然,但我想知道是否有必要关闭或不关闭。因为我没有找到有关这方面的信息。 –

回答

3

imap_close()不是必需的,因为无论脚本何时结束,连接都将被关闭。然而,打开连接可以保持服务器上的imapd子项,并且它们不亮。在完成imap_close()后,如果脚本在完成imap工作后继续运行,则有利于释放imap服务器上的资源。在脚本结束之前调用imap_close()在技术上不需要,因为连接将被关闭,但它应该只是对imap服务器很好:)

此外,如果您的脚本快速连续打开连接,那么您应该重新 - 思考你的设计:根据imap服务器上的资源,imap_open()是非常昂贵的功能。

+0

即使我用ajax调用php,我是否仍能保持连接打开? –

+0

使您的ajax连接持久化并使您的php脚本无限期地运行,直到ajax连接断开。这样你只需要在php脚本启动时打开imap连接,并且不会占用imap服务器上的资源。 –

+0

你的意思是只调用一次php?但JavaScript冻结浏览器,直到ajax完成。如果ajax需要15秒,它会将页面冻结15秒。 –

相关问题