phpを使用して基本的な「ステータス」ページを作成しようとしています。これにより、さまざまなサービス(使用するWebページ)が少なくともページを提供しているかどうかをユーザーに通知します(これは100%の動作保証ではありませんが、かなり良い指標です)
私がやりたいのは
www.domainname.com/mediawiki/index.phpそしてそれがページを返すかどうかを確認してください
私はphpにかなり慣れていないので、どの関数を探しているのかさえわかりません。
ありがとう
組み込みのPHP関数を使用してこれを行う方法はいくつかありますが(例:file_get_contents)、あまり良くありません。優れたcURLライブラリをご覧になることをお勧めします。これは正しい方向を示している可能性があります:curlを介したphpでのヘッダーのみの取得
ページが「アップ」しているかどうかを確認したいだけなので、ページ全体をリクエストする必要はありません。HEADリクエストを使用して、ページのヘッダーを取得できます。
file_get_contentsをチェックしてください
Webページのソースを文字列として返します。このようにして、必要に応じて文字列で特定の値を検索し、より細かい結果を得ることができます。これは、コンテンツがまだ返される場合に非常に役立ちますが、ある種のエラーメッセージです。
$somePage = file_get_contents('http://www.domainname.com/mediawiki/index.php');
// $somePage now contains the HTML source or false if failed
allow_url_fopen = Onphp.iniで確認してください
応答ヘッダーを確認する必要がある場合は、$http_response_headerを使用できます
別のオプションは、ソケットが応答していることを確認することです。(これを最初にどこから入手したか思い出せませんが、ポート 80 が応答しているかどうかはわかります)。これをいつでも別のポートに向けることができます。
function server($addr){
if(strstr($addr,'/')){$addr = substr($addr, 0, strpos($addr, '/'));}
return $addr;
};
$link = 'secure.sdinsite.net:';
$s_link = str_replace('::', ':', $link);
$address = explode (':',"$s_link");
$churl = @fsockopen(server($addrress[0]), 80, $errno, $errstr, 20);
if (!$churl) {
$status = 'dead';
} else {
$status = 'live';
};
echo $status;
これを試して:
<?php
$_URL = "http://www.domainname.com/mediawiki/index.php";
if (! @file_get_contents($_URL))
{
echo "Service not responding.";
}
?>
php.iniアクティブにする必要があることに注意してくださいallow_url_fopen
幸運を