मैंने अपनी फ़ाइलों को एक नए सर्वर पर ले जाया और मेरे पास एक स्क्रिप्ट थी जो ब्राउज़र पर प्रत्येक echo
पर तुरंत आउटपुट दिखाती है, लेकिन यह नए सर्वर पर काम नहीं कर रही है। यहां मेरा टेस्ट कोड है:सभी ब्राउज़रों पर प्रत्येक गूंज पर आउटपुट को सही तरीके से कैसे दिखाना है?
@ini_set('output_buffering', 0); @ini_set('implicit_flush', 1);
for ($i = 0; $i < ob_get_level(); $i++) ob_end_flush();
ob_implicit_flush(1);
ignore_user_abort(true); set_time_limit(0);
$max_wait_time = 30;
$begin_time = microtime(true);
$elapsed_time = 0;
while(!connection_aborted()) {
echo $i++.str_repeat(' ', 1020).'<br/>';
flush(); ob_flush();
usleep(1000000);
if($elapsed_time > $max_wait_time){ break; }
$elapsed_time++;
}
मैंने उपरोक्त बनने वाली कुछ चीजों की कोशिश की है। लेकिन आउटपुट बफरिंग चालू और फ्लशिंग ने मेरे लिए काम नहीं किया है। मैंने क्रोम और फ़ायरफ़ॉक्स पर इसका परीक्षण किया है, वे दोनों अंत में सब कुछ आउटपुट करते हैं।
कोई भी विचार?
यह सबसे अच्छा जवाब है जिसे आप प्राप्त करने की संभावना है। दुर्भाग्यवश, जैसा कि '' फ्लश() ''दस्तावेज कहता है, आप [PHP के भीतर से] गारंटी नहीं दे सकते कि डेटा को बफर करने के अलावा कुछ भी नहीं है। अपाचे सेटिंग्स के साथ घूमने से आपकी मदद हो सकती है, लेकिन अन्यथा मैं वैकल्पिक समाधान के उद्देश्य से सुझाव दूंगा। –