PHP Curl有一个dns缓存,默认情况下启用:
CURLOPT_DNS_USE_GLOBAL_CACHE
http://php.net/manual/en/function.curl-setopt.php
我似乎无法找到有关如何清除此缓存的任何资源(除了重启apache之外)。
答案 0 :(得分:6)
无法从PHP手动清除DNS缓存。但您可以使用CURLOPT_DNS_CACHE_TIMEOUT
传递一个长整数,以秒为单位设置超时。名称结算将是 保存在内存中并用于这个秒数。设置为零 完全禁用缓存,或设置为-1以生成缓存的条目 永远存在。默认情况下,libcurl将此信息缓存60秒。
您可以为0
选项设置下一个请求,以强制刷新curl的DNS缓存