file_get_contents() を使用して一部のドメインに ping を実行するための単純な php スクリプトがありますが、ログを確認したところ、get 要求が記録されていません。
私は持っている
$result = file_get_contents($url);
echo $url. ' pinged ok\n';
ここで、各ドメインの $url はhttp://mydomain.com/という形式の単純な文字列であり、echo はこれを検証します。自分で作成した手動リクエストが表示されています。
get 要求がログに表示されないのはなぜですか?
実際に $result をブラウザに送信したときにヒットを登録するようにしています。これは、ウェブサーバーがブラウザのリクエストのみを記録することを意味していると思いますか? PHPでそのようなものを模倣する方法はありますか?
はい、curl phpを試しました:
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "getcorporate.co.nr");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
ただし、同じ効果 - ログに記録されたヒットはありません。これまでのところ、スクリプトからブラウザに http 応答を返したときにのみ登録されます。明らかに、これは単一のリクエストに対してのみ機能し、スクリプトの目的のように大量には機能しません。
他に問題がある場合は、どのデバッグ出力を確認できますか?
編集:おお!私の誤った考えの説明については、受け入れられた回答の下のコメントを参照してください。