【问题标题】:PHP chilkat is taking a long time for some functionsPHP chilkat 的某些功能需要很长时间
【发布时间】:2019-11-12 17:59:30
【问题描述】:

我使用php chilkat组件,有些功能有时需要很长时间。

imap->Disconnect(); 检测到的最长时间 - 60 秒。

当我只做 imap = null - 它仍然需要 60 秒。

我猜当它被破坏时,它也会在 chilkat 组件内部断开连接。

如何防止执行时间过长,因为应用程序速度很差。

我可以立即终止连接吗?

为什么会这样:

selectMailbox() - 检测到的最长时间 - 68 秒。

需要这么长时间?

closeMailbox() - 10 秒。

我设置了ReadTimeout = 2,但检测到执行时间为5秒..

这是代码:

$time = microtime(true);

$this->imap->put_ReadTimeout(2);
$this->imap->Disconnect();
$this->imap = null;

var_dump(microtime(true) - $time);

【问题讨论】:

    标签: php chilkat


    【解决方案1】:

    如果您的 IMAP 服务器响应时间较长,则 IMAP 客户端无法使 IMAP 服务器响应更快。也许 IMAP 服务器在特定时间过载..

    您可以将 Imap.ReadTimeout 属性设置为较小的值。默认值为 30 秒。假设您设置 ReadTimeout = 5。如果 IMAP 服务器在 5 秒内未发送响应,这将告诉 Chilkat 放弃连接/会话。好的部分是您的函数将在 5 秒后返回。不好的部分是您的会话将丢失,您需要重新连接、重新验证并重新选择邮箱。也许这对于断开连接的调用是可以的。调用 SelectMailbox 可能不太好。

    【讨论】:

    • 感谢您的回答。但是我做了一个测试。目前检测到的最大执行时间为 5 秒。实时可能会超过 readTimeout 吗?
    猜你喜欢
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 2014-08-15
    • 2018-07-10
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    相关资源
    最近更新 更多