Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php上DNS解析非常慢_Php_Linux_Curl_Dns_Centos6 - Fatal编程技术网

在php上DNS解析非常慢

在php上DNS解析非常慢,php,linux,curl,dns,centos6,Php,Linux,Curl,Dns,Centos6,我试图在我的PHP站点上获取一些外部数据,但在DNS解析方面遇到了问题。当我使用curl时,我得到了大约8秒的时间。还尝试了同样糟糕性能的文件获取内容。 甚至gethostbyname也需要大约8秒的时间来解析 我在apache web服务器上运行php,在CentOS 6.6上运行。 我的resolv.conf使用google DNS作为名称服务器,当我使用dig、hosts、ping或任何其他与DNS相关的Linux命令时,我没有任何延迟。另外,如果我直接从Linux(或wget)执行cur

我试图在我的PHP站点上获取一些外部数据,但在DNS解析方面遇到了问题。当我使用curl时,我得到了大约8秒的时间。还尝试了同样糟糕性能的文件获取内容。 甚至gethostbyname也需要大约8秒的时间来解析

我在apache web服务器上运行php,在CentOS 6.6上运行。 我的resolv.conf使用google DNS作为名称服务器,当我使用dig、hosts、ping或任何其他与DNS相关的Linux命令时,我没有任何延迟。另外,如果我直接从Linux(或wget)执行curl,我不会得到任何延迟

我的问题是是否存在任何与php或apache相关的dns配置,因为只有在使用php代码时,而不是在运行任何与linux dns相关的命令时,我的dns解析速度较慢

更新:

我制作了一个小php脚本:

<?php
$start = microtime(true); 

gethostbyname("google.com");

$end = (microtime(true) - $start);
echo "elapsed time: $end";
?>
如果我从命令行使用php运行,我得到

elapsed time: 0.025190830230713

所以这一定是与apache相关的问题。

请在终端中运行php文件,或者只是快速测试,然后用结果更新问题。它可能与使用quick test更新的apache有关,并且在从命令行运行php时可以正常工作。因此,这一定是与apache相关的问题。请尝试关闭apache,等待所有进程关闭,然后重新启动。请参阅此答案中的注释,可能会有帮助。谢谢Alex。apache的停止/启动解决了这个问题。
elapsed time: 0.025190830230713