2012-12-09 24 views
5

मैं लैरवेल का उपयोग कर रहा हूं और मुझे ऐसा होने पर डेटा आउटपुट करने की आवश्यकता है। जब मैं लार्वेल के बाहर पेज लोड करने का प्रयास करता हूं, तो यह ठीक काम करता है। अगर मैं इसे लार्वेल के अंदर उपयोग करता हूं, तो यह फ्लश नहीं करता है, यह अंत तक इंतजार करता है और परिणामों को प्रिंट करता है।PHP फ्लश() लार्वेल के साथ काम नहीं करता है?

view.php

<?php 

if (ob_get_level() == 0) ob_start(); 
for ($i = 0; $i <= 10; $i++){ 

    echo "<br> Line to show. $i"; 
    echo str_pad('',4096)."\n";  

    ob_flush(); 
    flush(); 
    sleep(1); 

} 
ob_end_flush(); 
?> 
+0

php इस पर अच्छा कभी नहीं रहा है - और वास्तव में, यह के लिए बनाया गया सर्वर साइड जा रहा है कभी नहीं किया गया था, तो आप एक और दृष्टिकोण –

+0

सबसे चौखटे की तरह विचार किया है विचारों की वजह से उत्पादन ओब के भीतर होते हैं _ *() करने के लिए कॉल संपीड़न, बेहतर त्रुटि प्रबंधन, और डेटा मुद्रित होने के बाद HTTP शीर्षलेख सेट करने जैसी सुविधाओं की अनुमति दें। ऐसा करने के बाद यह डेटा आउटपुट करेगा। तो अपना खुद का ओबी _ *() कॉल डालने से बाहरी से बाहर नहीं निकल जाएगा। –

+1

तो मेरे पास कौन से विकल्प हैं? – luckytaxi

उत्तर

5

यह पता चल, मैं ob_flush जोड़ने के लिए() की आवश्यकता थी;

0

यह अनुक्रम मेरे लिए काम किया।

ob_implicit_flush(true); 
echo "Processing ... "; // Or give out JSON output 
ob_flush(); 
sleep(5); //A time-consuming synchronous process (SMTP mail, maybe?) 
echo "Done"; 
संबंधित मुद्दे