php - PHP chilkat 的某些功能需要很长时间
问题描述
我使用 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);
解决方案
如果您的 IMAP 服务器响应时间较长,则 IMAP 客户端无法使 IMAP 服务器响应更快。也许 IMAP 服务器在特定时间超载..
您可以将 Imap.ReadTimeout 属性设置为较小的值。默认值为 30 秒。假设您设置 ReadTimeout = 5。如果 IMAP 服务器在 5 秒内未发送响应,这将告诉 Chilkat 放弃连接/会话。好的部分是您的函数将在 5 秒后返回。不好的部分是您的会话将丢失,您需要重新连接、重新验证并重新选择邮箱。也许这对于断开连接的调用是可以的。调用 SelectMailbox 可能不正常。
推荐阅读
- html - 不知道为什么我的边框底部不起作用,有人可以解决它吗
- java - 如何更改 ResponseEntity 中的 JSON 响应格式?
- node.js - 我正在尝试运行 yargs 命令,但它不起作用
- angular - Angular - 基于列表显示表格列表
- html - 在孩子的变换比例期间未应用CSS父边框半径
- python - 列表文字和列表理解行为不同
- python - 多线程python包的ThreadPool数据结构创建多少线程?
- python - 图表上的比例问题
- .net - 为什么Webdriver无法通过xpath找到元素?
- javascript - 有没有办法使用 javascript 变量作为 PHP SQL 页面的一部分?