Mod_fcgid ব্যবহারকারীদের জন্য নোট (দয়া করে, আপনার নিজের ঝুঁকিতে ব্যবহার করুন)।
দ্রুত সমাধান
জোয়েরি সেব্রেচটসের গৃহীত উত্তরটি আসলে কার্যকরী। তবে আপনি যদি mod_fcgid ব্যবহার করেন তবে আপনি দেখতে পাবেন যে এই সমাধানটি নিজে থেকে কাজ করে না। অন্য কথায়, ফ্লাশ যখন ফাংশন বলা হয় তখন ক্লায়েন্টের সাথে সংযোগ বন্ধ হয় না।
FcgidOutputBufferSize
কনফিগারেশন প্যারামিটার mod_fcgid দায়ী করা যেতে পারে। আমি এই টিপটি পেয়েছি:
- ট্র্যাভার্স কার্টার এবং এই উত্তর
- Seumas ম্যাকিনন এই ব্লগ পোস্ট ।
উপরেরটি পড়ার পরে, আপনি এই সিদ্ধান্তে আসতে পারেন যে একটি দ্রুত সমাধান হ'ল লাইন যুক্ত করা (শেষে "ভার্চুয়াল হোস্টের উদাহরণ দেখুন"):
FcgidOutputBufferSize 0
আপনার অ্যাপাচি কনফিগারেশন ফাইল (যেমন, httpd.conf), আপনার FCGI কনফিগারেশন ফাইল (যেমন, fcgid.conf) অথবা আপনার ভার্চুয়াল হোস্ট ফাইলের মধ্যে (যেমন, httpd-vhosts.conf)।
উপরের (1) এ, "আউটপুটবফারসাইজ" নামের একটি পরিবর্তনশীল উল্লেখ করা হয়েছে। এটি FcgidOutputBufferSize
(2) এ উল্লিখিত পুরানো নাম ( Mod_fcgid এর জন্য অ্যাপাচি ওয়েব পৃষ্ঠায় আপগ্রেড নোটগুলি দেখুন )।
বিশদ ও দ্বিতীয় সমাধান
উপরের সমাধানটি mod_fcgid দ্বারা সম্পাদিত বাফারিং অক্ষম করে পুরো সার্ভারের জন্য বা নির্দিষ্ট ভার্চুয়াল হোস্টের জন্য । এটি আপনার ওয়েবসাইটের জন্য পারফরম্যান্স জরিমানার দিকে নিয়ে যেতে পারে। অন্যদিকে, পিএইচপি নিজে থেকে বাফারিং করে এমনটি নাও হতে পারে।
আপনি যদি mod_fcgid এর বাফারিংটি অক্ষম করতে না চান তবে অন্য একটি সমাধান আছে ... আপনি এই বাফারটিকে ফ্লাশ করতে বাধ্য করতে পারেন ।
জোয়ারি সেব্রেক্টস প্রস্তাবিত সমাধানটির উপর ভিত্তি করে নীচের কোডটি কেবল এটি করে:
<?php
ob_end_clean();
header("Connection: close");
ignore_user_abort(true);
ob_start();
echo('Text the user will see');
echo(str_repeat(' ', 65537));
$size = ob_get_length();
header("Content-Length: $size");
ob_end_flush();
flush();
sleep(30);
echo('Text user will never see');
?>
কোডের যুক্ত লাইনটি মূলত যা করে তা হ'ল Mod_fcgi এর বাফারটি পূরণ করা , এটি এটিকে ফ্লাশ করতে বাধ্য করে। নম্বর "65537" মনোনীত করা হয়েছে কারণ ডিফল্ট মান FcgidOutputBufferSize
পরিবর্তনশীল "65536" হয়, যেমন উল্লেখ সংশ্লিষ্ট নির্দেশ জন্য Apache ওয়েব পৃষ্ঠা । সুতরাং, আপনার পরিবেশে অন্য মান সেট করা থাকলে সেই অনুযায়ী আপনার এই মানটি সামঞ্জস্য করতে হবে।
আমার পরিবেশ
- ওয়্যাম্প সার্ভার 2.5
- অ্যাপাচি ২.৪.৯
- পিএইচপি 5.5.19 ভিসি 11, x86, নন থ্রেড নিরাপদ
- mod_fcgid / 2.3.9
- উইন্ডোজ 7 পেশাদার x64
ভার্চুয়াল হোস্টের উদাহরণ
<VirtualHost *:80>
DocumentRoot "d:/wamp/www/example"
ServerName example.local
FcgidOutputBufferSize 0
<Directory "d:/wamp/www/example">
Require all granted
</Directory>
</VirtualHost>