PHP sayfası güncelleme otomatik olarak her gün / 6 saat izin vermez

3 Cevap

Bir arkadaşım onun sitede bir sıralama sistemi kurmak ve ben wordpress ve godaddy aracılığı ile mayın üzerinde barındırmak için çalışıyorum. Onun için günceller ama benim siteye yüklediğinizde, kısa sürede yeniden, bu hataları meydana gerekiyordu gibi 6 saat çalışır, ancak ben bir 500 zaman aşımı hatası alıyorum.

Onun sayfasıdır: http://www.jeremynoeljohnson.com/yakezieclub

Benim sayfa http://sweatingthebigstuff.com/yakezieclub şu anda ama? = 1 yeniden zaman hata verecektir.

Neden herhangi bir fikir oluyor olabilir? Ben değiştirmeniz gerekebilir herhangi bir ayar?

Sana bütün kodunu vermek, ama hangi parçası olabilir? index.php dosyası? Ben karışıklık hangi bölümünün emin değilim. Ben tam anlamıyla onun gibi aynı kodu yükledi.

Burada yeniden kısmı:

$cachefile = "rankings.html";
$daycachefile = "rankings_history.xml";
$cachetime = (60 * 60) * 6; // every 6 hours, the cache refreshes
$daycachetime = (60 * 60) * 24; // every 24 hours, the history will be written to - or whenever the page is requested after 24 hours has passed
$writenewdata = false;

if (!empty($_GET['reload']))
{
    if ($_GET['reload']== 1)
    {
        $cachetime = 1;
    }
}

if (!empty($_GET['reloadhistory']))
{
    if ($_GET['reloadhistory'] == 1)
    {
        $daycachetime = 1;
        $cachetime = 1;
    }
}

if (file_exists($daycachefile) && (time() - $daycachetime < filemtime($daycachefile)))
{
    // Do nothing
}
else
{
    $writenewdata = true;
    $cachetime = 1;
}

// Serve from the cache if it is younger than $cachetime
if (file_exists($cachefile) && (time() - $cachetime < filemtime($cachefile)))
{
    include($cachefile);
    echo "<!-- Cached ".date('jS F Y H:i', filemtime($cachefile))." -->";
    exit;
}
ob_start(); // start the output buffer

>

3 Cevap

Eğer önbellek dosyası sonra çıktı tamponlama başlıyoruz herhangi özel bir nedeni dahildir? Önbellek dosyası sadece ham html ise, bu tamponlama başlamadan önce önbellek tarih yorumun ardından, zaten çıkış akışı içine dökülüyor gerekecek.

Belki komut dosyası (veya başka bir komut dosyası) bu şey temizlemek için kilit beklerken bölümünü kontrol yeniden asılı şekilde, çıktı dosya üzerinde bir kilit tokat mümkün mü?

Bana yüksek bir gecikme ile çok yoğun falan bir şey yapıyoruz şeyi yapar, gerçekten yavaş görünüyor. Web sunucusu dahili zaman aşımı değerini vuruyor, o zaman bir 500 hatası alırsınız. Daha yüksek hız için kodunuzu optimize veya bu sorunu çözmek için sunucunun zaman aşımı artırmak.

Eğer sunucu platformu gönderirseniz, ben size zaman aşımı süresini artırmak için neler yapabileceğini biliyorum sağlayabilirsiniz.

Umarım bu yardımcı olur.

İki yol açar:

  • İlk olarak, yeni bir dosya oluştururken, dosya sistemi, gerçek tarih / saati döndürür olmadığını kontrol edin. Bazı sistemlerde, dosya değiştirme zamanı diğer yandan da (yerine GMT) değildir, bir zaman dilimi lokalize edilmektedir.

  • İkincisi, filemtime kullanırken dikkatli olun. PHP hdd ressources erişmesini önlemek için bir önbellek sistemi kullanmak, bu harika, ama ben bu önbellek içerden yönetilen ve ömür boyu olduğunu öğrenmek asla. Ben güncelleştirme komut dosyası çalıştırmak her zaman clearstatcache çağıran öneririz