Web sitemde (drupal ile çalışıyor) ob_flush
işlevi uzun bir süre (10 - 100 saniye arasında) yürütülüyor. Nedenini nasıl öğrenebilirim? Bu kadar uzun süre neden olabilir? Sayfanın başında ob_flush, yürütülmesi uzun sürüyor
cevap
kullanım
<?ob_start();?>
ve sayfanın sonunda
<?ob_flush();?>
, bu sorunu çözmek için.
SET php.ini
yılında
output_buffering = Off
bu deneyin:
ob_start();
//Your code to generate the output
$result = ob_get_contents(); //save the contents of output buffer to a string
ob_end_clean();
echo $result;
Benim için hızlı çalıştırılır.
[Drupal ile sorunuzu etiketlemek isteyebilirsiniz, çünkü bu bir Drupal sorunu olabileceği düşüncesindedir. Özellikle, arabelleği temizlediğinizde, yazdığınız verileri filtrelemek için bir ton kanca tetikleyen bir dış arabelleğe yazdığınızdan şüpheleniyorum.]
Sorununuzun olduğundan şüpheleniyorum. iç içe geçmiş tamponlar. Drupal, arabellekleri ve arabellekleri her yere yayıyor. sonucunu kontrol edin: bu sadece arabelleğe sonraki en dış tabakası halinde iç tampon içeriğini ekler:
echo "<pre>\nBuffering level: ";
. ob_get_level() .
. "\nBuffer status:\n"
. var_dump(ob_get_status(TRUE))
. "\n</pre>";
var ise iç içe tamponları, o zaman ben ob_flush() sizin için bir şey yapmaz şüpheli.
İç içe geçmiş arabellekler, Drupal'ın kendisinden (yukarıdakiler gösterilir) veya zlib-output-compression ve output_buffering ayarlarından gelebilir (bunları ikiye katlamayı deneyin, herhangi bir şeyi değiştirip değiştirmediğine bakın).
senin tamponlar iç içe değildir ve yukarıdaki ayarlar sonra da zaman alıyor hangi bölümünün görmek için, orada profil oluşturucu parçalar halinde çalışmasını bölmek ve çalıştırmak isteyebilirsiniz, yardımcı olmazsa:
$data = ob_get_contents(); // Return the contents of the output buffer.
ob_clean(); // Clean (erase) the output buffer.
ob_end(); // Close the buffer.
echo($data); // Output our data - only works if there's no outer buffer!
ob_start(); // Start our buffer again.
Ancak soru, "ne yapmaya çalışıyorsunuz?" Sizce ob_flush() burada ne yapıyor? Çünkü eğer cevap "Şimdiye kadar yaptığım her şeyi tarayıcıya zorlamak istiyorum" ... çünkü o zaman ob_flush() sadece doğru yoldan değil.
- 1. Opencart kaydı çok uzun sürüyor
- 2. heroku konuşlandırılıyor çok uzun sürüyor
- 3. MS2015'te MvcBuildViews uzun sürüyor
- 4. dosya io çok uzun sürüyor
- 5. UIDocumentInteractionController, seçenekleri göstermek için uzun sürüyor
- 6. kesilmiş masa çok uzun sürüyor, normal mi?
- 7. Django işleme MultipleChoiceField verileri çok uzun sürüyor
- 8. MySQL Sıralama Sonuçları çok uzun sürüyor
- 9. perl dbi ile uzun süreli büyük işlemlerin yürütülmesi
- 10. Perl'de "\ n" yazdırmak neden bu kadar uzun sürüyor?
- 11. MSBuild ile derleme neden IDE'den daha uzun sürüyor?
- 12. Dağıtılmış bir Meteor sitesinin yüklenmesi neden bu kadar uzun sürüyor?
- 13. Meteor'un verilerimi Heroku'ya yüklemesi neden bu kadar uzun sürüyor?
- 14. Dinamik SQL sabit kodlanmış eşdeğerden çok daha uzun sürüyor
- 15. Macports GHC paketi neden bu kadar uzun sürüyor?
- 16. Neden bu işlevi bir işlevde çalıştırmak 10x daha uzun sürüyor?
- 17. Aerospike 10 milyon anahtar değer eklemek için çok uzun sürüyor
- 18. git status, virtualbox'ta paylaşılan bir klasörde çok uzun sürüyor
- 19. selenium webdriver bir sayfa yüklemek için çok uzun sürüyor
- 20. IIS Express istekleri yürütmek için 4 kez daha uzun sürüyor
- 21. Android Websocket İstemcisi Zaman Aşımı için çok uzun sürüyor
- 22. Libgdx Terraria klon dünyasının yaratılması çok uzun sürüyor
- 23. Yalnızca Dizin Taraması neden bu kadar uzun sürüyor?
- 24. Azure VIP takası bir dakikadan daha uzun sürüyor
- 25. Kümelemeli olmayan bir dizin kullanırken SQL Query'm çok uzun sürüyor
- 26. PHP'nin ob_flush() hataya neden oluyor
- 27. Dur yönteminin yürütülmesi - Swift
- 28. Cron işimin yürütülmesi nasıl belirlenir?
- 29. Güvenilmeyen Haskell kodunun güvenli yürütülmesi
- 30. Verilog'da çoklu modüllerin paralel yürütülmesi
Bu işlevin uygulamanızı dondurduğunu düşündüren nedir? – ualinker
@ualinker Lütfen yüklediğim resme bakın – user16948
Ayrıca ob_start() 've' ob_flush() 'içeriğiyle kod yazabilir misiniz? – ualinker