2017-02-04 4 views
0

file_get_contentsを使用して、必要に応じてバックアップサーバを使用するとよいでしょう。file_get_contentsが失敗した場合は、別のサーバを使用してください。

私はこのようなことを考えることができました。予想どおりに動作するかどうかは不明です。

<?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ブロックを使用しますか?前に使用したことはありません...

また、file_get_contentsのタイムアウト時間を5秒に設定したいので、ダウンした場合に1つのサーバーで長時間待たないでください。

答えて

0
file_get_contents 

例外をスローしないので、try/catchブロックはこの状況では役に立ちません。ドキュメントの内容(http://php.net/manual/en/function.file-get-contents.php)を覚えておいてください。失敗した戻り値はFALSEですが、成功した場合は偽の値を取ることがあります(===演算子を使用)。 http://php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout

:INIパラメータについて

ini_set('default_socket_timeout', 900); 

詳細を使用するタイムアウトを変更するには

関連する問題