使用file_get_contents在php函数中使用备份服务器的好方法是什么。
我可以想到这样的事情,不确定它是否能按预期工作。
<?php
$data = file_get_contents("http:/server1.com"); // Lets say this is down (timeout or other error)
if(!$data){
$data = file_get_contents("http://server1backup.com");
}
//do something with data
?>
也许以某种方式使用try block?从来没有使用过它们......
我还想将file_get_contents超时设置为更短的时间,比如5秒,所以如果它停机,它不会在1台服务器上等待太久。
答案 0 :(得分:0)
file_get_contents
不会抛出异常,所以try / catch块在这种情况下没用。记住documentaion中的内容(http://php.net/manual/en/function.file-get-contents.php):失败时返回值为FALSE,但有时成功时你可以得到一个假值(使用===运算符)。
更改超时使用
ini_set('default_socket_timeout', 900);
有关ini参数的更多信息:http://php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout