2011-05-11 10 views
7

PHP IMAP Library沒有內置方法來改變安全pop3連接的imap_timeout功能。我期望構建這個功能,這樣我就可以將超時設置爲1秒,以便連接安全的pop3服務器,但是我不確定從哪裏開始瞭解如何在PHP函數中重寫php.ini命令。有任何想法嗎?如何用安全的POP3服務器覆蓋用於imap_timeout功能的php.ini超時

imap_timeout(1)工作正常 爲POP3連接,但顯然 不是POP3S(SSL,端口995) 連接,其中默認的插座 超時仍然適用。這適用於 php 4.3.10,未在其他 版本上測試。


我們進去看了源,找出 這是什麼函數實際上不和 如何使用它。 功能覆蓋 的default_socket_timeout從你的php.ini文件中設置

您可以通過 檢索當前超時 長度爲每超時類型調用函數爲:

imap_timeout(timeout_type); 或imap_timeout(timeout_type,-1);

通過將 超時值設置爲秒數,您可以設置超時類型的任何 的超時長度。

imap_timeout(timeout_type,);

超時類型如下:

1:打開2:讀3:寫4:關閉

它不會出現該閉型 已經實施。

來源:https://students.kiv.zcu.cz/doc/php5/manual/cs/function.imap-timeout.php.html

+0

你試過'ini_set('default_socket_timeout',999)'嗎? – Havenard 2011-05-11 19:34:37

+0

我想超時1秒只有pop3連接,但我擔心它會超時整個功能。 – 2011-05-11 19:40:22

+0

@Havenard ini_set('default_socket_timeout',2);不適合我。 – 2012-04-26 09:50:54

回答

5

使用default_socket_timeout

這裏是小規模示威覆蓋默認配置。

ini_set('default_socket_timeout', 2); 
// your socket based code here 

// restore to the default socket timeout 
ini_restore('default_socket_timeout');