如何刷新php curl的dns缓存?

Nat*_*han 11 php dns curl

PHP Curl有一个dns缓存,默认情况下启用:

CURLOPT_DNS_USE_GLOBAL_CACHE

http://php.net/manual/en/function.curl-setopt.php

我似乎无法找到有关如何清除此缓存的任何资源(除了重启apache).

小智 8

无法从PHP手动清除DNS缓存.但你可以使用CURLOPT_DNS_CACHE_TIMEOUT

传递一个长整数,以秒为单位设置超时.名称解析将保留在内存中并用于此秒数.设置为零以完全禁用缓存,或设置为-1以使缓存的条目保持不变.默认情况下,libcurl将此信息缓存60秒.

您可以0为下一个请求设置选项,以强制刷新curl的DNS缓存