gpt4 book ai didi

php - 容错 file_get_contents

转载 作者:行者123 更新时间:2023-12-04 05:57:03 25 4
gpt4 key购买 nike

我有一个具有以下架构的网站:

End user     --->    Server A (PHP)        --->        Server B (ASP.NET & Database)
web file_get_contents
browser

服务器 A 是一个简单的 Web 服务器,主要服务于静态 HTML 页面。但是,有些内容是动态的,这些内容是从服务器 B 中获取的。 示例:
someDynamicPageOnServerA.php:
<html>
...static stuff...

<?php echo file_get_contents("http://serverB/somePage.aspx?someParameter"); ?>

...more static stuff...
</html>

这工作正常。但是,如果服务器 B 关闭(维护、意外崩溃等),服务器 A 上的那些动态页面将失败。因此,我想
  • 缓存 file_get_contents 和
  • 的最后结果
  • 如果 file_get_contents 超时,则显示此结果。

  • 现在,实现这样的东西应该不会太难;然而,这似乎是一个常见的场景,我想避免重新发明轮子。是否有一些 PHP 库或内置功能可以帮助这种情况?

    最佳答案

    我会做这样的事情:

    function GetServerStatus($site, $port){
    $fp = @fsockopen($site, $port, $errno, $errstr, 2);
    if (!$fp) {
    return false;
    } else {
    return true;
    }
    }

    $tempfile = '/some/temp/file/path.txt';

    if(GetServerStatus('ServerB',80)){
    $content = file_get_contents("http://serverB/somePage.aspx?someParameter");
    file_put_contents($tempfile,$content);
    echo $content;
    }else{
    echo file_get_contents($tempfile);
    }

    关于php - 容错 file_get_contents,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397351/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com