در مراحل کار ، اسکریپت های php می توانند نتایج را هنگام اجرای اسکریپت نمایش دهند یا داده ها را جمع کنند ، منتظر اجرای کامل اسکریپت و تکمیل اسکریپت باشند. انتخاب یکی از این گزینه ها به مقداری که در تنظیمات PHP مفسر به متغیر مسئول بافر کردن داده های خروجی اختصاص داده شده بستگی دارد. روش های مختلفی برای تغییر آن وجود دارد.
دستورالعمل ها
مرحله 1
اگر می خواهید بافر خروجی را برای همه اسکریپت های php که در سرور یا سایت در حال اجرا هستند غیرفعال کنید ، صحیح ترین روش برای انجام این کار از طریق فایل php.ini است. هنگام راه اندازی هر اسکریپت ، مفسر زبان php تنظیمات را از این فایل پیکربندی می خواند ، بنابراین قرار دادن دستورالعمل برای غیرفعال کردن بافر کردن خروجی خروجی اسکریپت ها ، بهینه ترین راه حل است. پرونده را در هر ویرایشگر متن باز کرده و از گفتگوی جستجو برای یافتن دستورالعمل موسوم به output_buffering استفاده کنید. مقدار آن می تواند یک عدد صحیح یا یک متغیر منطقی (روشن یا خاموش) باشد ، بنابراین به جای مقدار پیش فرض ، خاموش یا 0 را وارد کنید. اگر این دستورالعمل در پرونده پیکربندی نیست ، یک خط اضافی به انتهای مطالب اضافه کنید:
output_buffering = خاموش است
گام 2
اگر می خواهید بافر کردن خروجی را برای اسکریپت های یک پوشه جداگانه یا یک گروه از زیر پوشه ها غیرفعال کنید ، بهتر است این کار را از طریق فایل htaccess انجام دهید. آن را در فهرست مورد نظر پیدا کرده و در ویرایشگر متن باز کنید. اگر هنوز چنین پرونده ای وجود ندارد ، پرونده جدیدی ایجاد کنید. دستورالعملی که باید اضافه شود مانند آنچه در مرحله قبل توضیح داده شد است ، اما قبل از آن باید علامت گذاری کنید که این یکی از تنظیمات php است. کل خط باید به این شکل باشد:
php_flag output_buffering خاموش
فایل htaccess ایجاد شده را در پوشه بالای سلسله مراتب دایرکتوری که دستورالعمل برای آن اجرا می شود ، قرار دهید.
مرحله 3
برای غیرفعال کردن بافر در یک اسکریپت PHP ، از یکی از توابع داخلی این زبان استفاده کنید. ob_get_flush () محتوای فعلی بافر را برمی گرداند ، سپس آن را صفر کرده و بافر خروجی را خاموش می کند. ob_end_flush () نیز همین کار را انجام می دهد ، اما محتوای فعلی بافر را به متغیری که آن را فراخوانی کرده است بر نمی گرداند ، اما آن را به دستگاه خروجی می فرستد. Ob_end_clean () قبل از خاموش کردن بافر ، به سادگی داده های فعلی را پاک می کند. هنگام استفاده از یکی از این توابع ، فراموش نکنید که بافر را دوباره روشن کنید - تابع () ob_start برای این کار است.