【发布时间】: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?