【问题标题】:How to override php.ini timeout for imap_timeout functionality with secure POP3 servers如何使用安全 POP3 服务器覆盖 imap_timeout 功能的 php.ini 超时
【发布时间】:2011-08-23 14:13:22
【问题描述】:

PHP IMAP 库没有内置方法来更改 imap_timeout 函数以实现安全 pop3 连接。我正在寻找构建此功能,以便我可以将超时设置为 1 秒以连接安全 pop3 服务器,但我只是不确定从哪里开始学习如何在 PHP 函数中覆盖 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

【问题讨论】:

  • 你试过ini_set('default_socket_timeout', 999)吗?
  • 我希望只有 pop3 连接的超时时间为 1 秒,但我担心它会使整个函数超时。
  • @Havenard ini_set('default_socket_timeout', 2);对我不起作用。
  • 我很惊讶在 PHP5.3 中这仍然是我的问题。您是否在其他地方找到了解决方案?
  • @coderama - 如果这对您来说是个问题,请随时在 cmets 中进行任何其他澄清。例如,您运行的是什么版本的 PHP?

标签: php imap pop3


【解决方案1】:

使用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');

【讨论】:

    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    • 1970-01-01
    相关资源
    最近更新 更多