file_get_contents () isteği benim webserver günlüğüne gösterilmesini GET

3 Cevap php

Ben file_get_contents kullanarak benim etki bazı (), ancak benim günlükleri kontrol ve herhangi olsun isteklerini kayıt olmayan ping için basit bir php komut dosyası var.

Ben

$result = file_get_contents($url);
echo $url. ' pinged ok\n';

alanların her biri için $ url http://mydomain.com/, yankı doğrular bu formun sadece basit bir dize olduğu. Kendim tarafından yapılan manuel istekleri gösteriyor.

Neden olsun istekleri benim günlükleri gösteren olmaz?

Aslında ben $ tarayıcıya sonucu göndermek zaman isabet kaydetmek için var. Ben bu web sunucusu sadece kayıtları tarayıcı istekleri demek oluyor? Php gibi taklit için herhangi bir yolu var mı?

Tamam curl php çalıştı:

// 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);

Aynı etki olsa - günlüklerinde kayıtlı hiçbir isabet. Ben tarayıcıda benim komut geri http yanıtı beslemek zaman Şimdiye kadar sadece kaydeder. Açıkçası bu sadece tek bir istek değil, benim senaryonun amacı olarak bir demet için çalışacaktır.

Başka bir şey yanlış gidiyor ise, ne hata ayıklama çıkışı I bakabilirsiniz?

Edit: D'oh! Benim hatalı düşünce açıklama için kabul edilen yanıt aşağıdaki yorumlarına bakın.

3 Cevap

Isteği gerçekten yapılıyorsa, bu günlükleri olurdu.

Sizin örnek kod sessizce başarısız olabilir.

Bunu yaparsanız ne olur:

<?PHP
if ($result = file_get_contents($url)){
    echo "Success"; 
}else{
    echo "Epic Fail!";
}

Bu başarısız eğer, bazı hata raporlama veya oturum açmak ve neden anlamaya denemek isteyeceksiniz.

Not: Eğer güvenli modda, ya da başka türlü fopen url wrappers disabled iseniz, file_get_contents () uzak bir sayfa kapmak olmaz. Bu işler ($ url içeriğinde bir yazım hatası yok varsayarak) başarısız olacağını en muhtemel nedeni budur.

Yerine curl kullan?

Bu çok garip. Belki bazı önbelleğe alma afoot var? Eğer (. Süresi (örneğin) "=? Timestamp" $ url = $ url.) URL'yi dinamik olarak değişen denediniz mi?