php meşgul iken yankı şey görünmüyor neden

2 Cevap

Php (kıvrılma ya da buna benzer bir şey ile internette sörf yaparken gibi) bir şey ile meşgul olduğunda PHP Echo veya Print işlevleri şey görünmüyor.

Daha sonra i komut satırında php çalıştırdığınızda php çıkışını göstermektedir keşfetti:

php myscript.php

But right now i don't get any outputs from command line too! Is there any kind of tricks or setting should be done to make php show the outputs?

2 Cevap

Şansı bu sonuçları (PHP ve web sunucu) önbelleğe alma ve aslında henüz tarayıcıya göndererek değil, vardır. Ben verebileceğim en iyi öneri benim kodundan bu yığınıdır:

/**
 * Act as a "breakpoint" in the code, forcing everything to be flushed to the browser
 */
function breakpoint() {
    global $debug;
    if ($debug) { // So that it doesn't slow down extracts
        ob_flush();
        flush();
        sleep(.1);
    }
}

Bizim web sitesine özgü, hata ayıklama modunda sayfası çalışan eğer $debug şeyler.

İhtiyacınız iki ana şey, sunucu tarayıcıya dökümü neden olacak flush() web sunucunun tampon PHP'nin tampon göndereceğiz ki, ob_flush(), ve. (Not: bir şey görüntülemeden önce tarayıcı önbelleklerini eğer, hiçbir şey bu önleyebilirsiniz) sleep var o aşırı ve düzgün temizlemek için bir şansı var almaz yardımcı olmak için.

See: http://ca.php.net/manual/en/function.ob-flush.php and http://ca.php.net/manual/en/function.flush.php

PHP ve web sunucusu hem de yankı ve baskı çıktısını önbelleğe olması muhtemeldir. Komut dosyası tamamlanıncaya kadar bu genellikle hiçbir çıkış neden olur.

flush() PHP dışarı çıktı zorlamak için, ama yine de web sunucusu kadar düzenlenen alabilirsiniz bakarak deneyin, bu yüzden yardımcı olabilir ...