我有一个名为 testResponse.php 的 php 文件,它只是:
<?php
sleep(5);
echo"go";
?>
现在,我使用 file_get_contents 从另一个页面调用这个文件,如下所示:
$start= microtime(true);
$opts = array('http' =>
array(
'method' => 'GET',
'timeout' => 1
)
);
$context = stream_context_create($opts);
$loc = @file_get_contents("http://www.mywebsite.com/testResponse.php", false, $context);
$end= microtime(true);
echo $end - $start, "\n";
输出超过 5 秒,这意味着我的超时已被忽略......我遵循了这篇文章的建议:stackoverflow.com/questions/3689371
但似乎主机名不能是路径(如 www.mywebsite.com/testResponse.php),而是直接是主机名,如 www.mywebsite.com。
所以我坚持要实现这个目标:
获取带有约束的页面 www.test.com/x.php 的内容:
- 如果 test.com 不存在或页面 x.php 不存在,则不会快速返回任何内容
- 如果页面存在但加载时间超过 1 秒,则中止
- else 获取文件内容
编辑:顺便说一句,当我从本地服务器调用此页面(testResponse.php)时,它似乎可以工作。好吧,它将超时乘以 2。例如,如果我有 1 表示超时,我将回显类似“2.0054645”的内容。但只能从本地...