رفع خطای وردپرس “افزونه هنگام فعال شدن٬ X نویسه از یک خروجی غیرمنتظره تولید کرد”

رفع خطای وردپرس Header already sent خروجی غیرمنتظره

وردپرس: افزونه هنگام فعال شدن٬ X نویسه از یک خروجی غیرمنتظره تولید کرد. اگر با پیغام خطای “headers already sent”٬ مشکلات مربوط به خوراک و یا مسائل دیگر مواجه شدید سعی کنید افزونه را غیرفعال یا حذف کنید.

The plugin generated X characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.

رفع خطای افزونه هنگام فعال شدن 3 نویسه از یک خروجی غیرمنتظره تولید کرد
رفع خطای افزونه هنگام فعال شدن x نویسه از یک خروجی غیرمنتظره تولید کرد

اگر اهل کار با وردپرس و یا توسعه تم و یا افزونه برای آن باشید احتمالا با مشکلی مشابه با متن فوق برخورد داشته اید و یا هم اکنون که در حال خواندن این مقاله هستید همچنان در حال دست و پنجه نرم کردن با این مشکل هستید.

احتمالا با جستجوهایی که در وبسایت های معتبر مانند stackoverflow.com داشته اید پاسخ های این چنینی که هیچ کاراکتر اضافه ای نباید خروجی فایل های php شما باشد رو به رو شده اید و برای رفع آن نیز اقدام به حذف کاراکتر های اضافه ی خارج از تگ های php کرده اید اما مشکل همچنان پابرجاست ادامه ی این مقاله را مطالعه بفرمایید.

منشاء مشکل وردپرس چه چیزهایی است؟

  • وجود کاراکتر اضافه در خارج از تگ های php افزونه به هنگام صدا زدن هوک فعال شدن یا عمل پردازش
  • وجود هرگونه خروجی حاصل از تابع echo, print و یا var_dump و print_r و توابع مشابه
  • وجود خروجی warning و یا خطاهای مشابه که در مراحل پردازشی اتفاق می افتند
  • انکدینگ خراب فایل ها(که بسیار بیشتر از موارد فوق رایج است)

اما از بین گزینه های فوق گزینه ای نا ملموس و آزار دهنده به نام مشکل انکدینگ فایل هست که هیچ توضیح صریح و واضحی در مورد آن وجود ندارد. تنها توضیحی که می توان یافت این است که جهت رفع خطای انکدینگ بایستی انکدینگ فایل را ANSI قرار داد اما با توجه به این که کاراکتر های زبان فارسی توسط ANSI پشتیبانی نمی شوند چاره ای به جز انکدینگ UTF-8 نخواهیم داشت. جالب اینجاست که این انکدینگ به طور معمول با وردپرس کار می کند و مشکلی وجود ندارد مشکلی که در برخی از موارد پیش می آید که پاسخش در گزینه های فوق نیست از طریق راه حل زیر حل می شود:

رفع مشکل انکدینگ وردپرس

خطای “headers already sent” که گاهی باعث سفید شدن صفحه وردپرس تان می شود می تواند از انکدینگ یکی از فایل های افزونه ناشی شده باشد. مشکل دقیقا از انکدینگ نوع UTF with BOM می باشد و نکته ی مشکل آفرین این انکدینگ BOM بودن آن است که باعث بروز خطای خروجی غیرمنتظره می شود.

جهت تغییر انکدینگ فایل به UTF without BOM می توانید از نرم افزار Notepad++ 0 استفاده بفرمایید. پس از باز کردن فایل در این نرم افزار به منوی Encoding بروید و گزینه ی Convert to UTF without BOM را انتخاب نمایید.

 

اگر شما نیز با این خطا رو به رو شدید یا این مقاله در رفع آن به شما کمک کرد و یا ایده ای متفاوت دارید از طریق بخش نظرات با ما در میان بگذارید.

Total
0
Shares
  1. سلام و روز شما بخیر
    بسیار عالی بود، مشکلی که داشتم با توضیحات شما حل شد.
    خواستم تشکر کنم بابت مقاله شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پست قبلی
هک تلگرام

آرامش تان را حفظ کنید و به استفاده از تلگرام ادامه دهید

پست بعدی
telegram for android wear 2.0 تلگرام برای ساعت هوشمند

تلگرام برای اندروید پوشیدنی (Telegram for Android Wear 2.0)

پست های مرتبط