最多2个php文件调用越来越老了

时间:2018-06-26 07:19:40

标签: php caching iis

如果我调用PHP文件超过2次(第3次),则收到旧响应。

我的PHP文件如下:

<?php
error_reporting(0);
clearstatcache();

$ip = $_GET['ip'];
$port = 80; 
$waitTimeoutInSeconds = 1; 

        if($fp = fsockopen($ip,$port,$waitTimeoutInSeconds)){   
           echo "<span style='color:green;'>OK: " . $ip. "</span>";
        } else {
           echo "<span style='color:red;  '>ERROR: " . $ip. "</span>"; 
        }

?>

我将GET变量的IP地址分配给脚本,然后它将对主机执行ping操作。

第二个呼叫中的响应会在2秒内响应正确的响应,直到第三个呼叫我都会得到旧的响应。

我尝试使用clearstatcache();进行修复,但没有任何变化。

这是一张带有求职词的屏幕截图:

Screenshot

2 个答案:

答案 0 :(得分:0)

我认为这不是一个老答案,而仅仅是来自fsockopen的错误。同样,返回错误需要多少次调用可能是任意的。 也许防火墙阻止了与目标的太多连接尝试,或者主机只是无法处理负载。

尝试将超时时间增加到2,然后稍等一下再点击刷新。

如果启用error_reporting(E_ALL),则可能会看到更好的错误消息。

答案 1 :(得分:0)

解决方案:

我在以下位置的IIS中添加了一个缓存规则:

- IIS Manager
- Webserver
- Output caching
- new rule: .php - > No caching