メモ > サーバ > 各論: プログラミング > PHPでHTTPの疎通確認を行う
PHPでHTTPの疎通確認を行う
実際にHTTPリクエストを送り、「200 OK」が返ってきてコンテンツに特定の文字列が含まれている
とするのが確実
<?php
// リクエストを送信
$http_response_header = null;
$context = stream_context_create(array(
'http' => array('ignore_errors' => true)
));
$response = file_get_contents('http://example.com/test/', false, $context);
// ヘッダとボディの両方を調べて、正常なレスポンスかどうかを確認する
if (preg_match('/200 OK/', implode("\n", $http_response_header)) && preg_match('/テスト/', $response)) {
echo 'OK';
} else {
echo 'NG';
}
exit;
存在しないサーバのアドレスを指定した場合、実行結果は以下になる
Apacheがダウンしている場合も同様みたい
<pre>Array
(
)
<hr><hr>NG
Advertisement