2014-06-12 90 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秒。 –

相關問題