我在Windows 7上(使用VirtualBox VM)进行一些开发。我有PHP / 5.5.13,Apache 2.4.9,Chrome 35.0.1916.153。当我运行以下代码时,我看到一些非常不一致的行为:
index2.php
<?php
echo "Load time before 'file_get_contents': ".(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])."<br/>\r\n";
echo file_get_contents('http://custom.local/index3.php');
echo "Load time after 'file_get_contents': ".(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])."<br/>\r\n";
exit;
?>
index3.php
<?php
echo "Load time inside 'index3.php': ".(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'])."<br/>\r\n";
exit;
?>
以下是Chrome中的结果(我在curl_exec之后的8到28秒之间获得了一致的响应时间)。响应时间也有很大波动:
Load time before 'file_get_contents': 0.002000093460083
Load time inside 'index3.php': 0.0026569366455078
Load time after 'file_get_contents': 15.411452054977
答案 0 :(得分:1)
似乎毕竟这是一个Apache问题。
Chrome的高级选项“预测网络操作以提高页面加载性能”将使用比默认Apache配置(Windows 2.4.9 Windows版本)更多的线程。
修复在httpd.conf中很简单:
AcceptFilter http none
此处有更多详情: