emperor69

Cannot modify header information

4 پست در این موضوع

سلام

سوالی راجع به بحث کدنویسی دارم. یه سیستم مدیریت محتوا زدیم که روی سرور قبلی کار میداد. روی لوکال هم کار میده. اما روی یک سرور جدید که اخیرا اومدیم کار نمیده

وهنگام ورود به پنل مدیریتش فقط همین عبارت رو میبینیم :

 [b]Warning[/b]:  Cannot modify header information - headers already sent by (output started at /home/***/public_html/global.php:1) in [b]/home/***/public_html/class/main.php[/b] on line [b]60[/b]

مشکل از کجاست؟

Share this post


Link to post
Share on other sites
آموزش ووکامرس قالب جوملا قالب وردپرس قالب رایگان وردپرس قالب رایگان جوملا هاست نامحدود هاست جوملا هاست لاراول هاست وردپرس هاست ارزان هاست ربات تلگرام خرید دامنه آموزش ساخت ربات تلگرام با php آموزش html و css آموزش لاراول آموزش cPanel آموزش php آموزش سئو وردپرس آموزش امنیت وردپرس آموزش وردپرس آموزش فرم ساز RSform آموزش سئو جوملا آموزش فروشگاه ساز Hikashop آموزش فروشگاه ساز ویرچومارت آموزش طراحی سایت آگهی تبلیغاتی آموزش امنیت جوملا آموزش طراحی سایت فروش فایل آموزش طراحی قالب ریسپانسیو با Helix آموزش جوملا 3 آموزش ساخت ربات دکمه ی شیشه ای آموزش ساخت ربات همکاری در فروش آموزش ساخت ربات جذب ممبر آموزش ساخت ربات ضد اسپم آموزش ساخت ربات پیوست فایل سورس ربات مدیر گروه | ربات مدیر گروه همسریابی

در همون فایل گویا تگهای هدر بعد از دستورات php اجرا میشن که در برخی از سرویس دهنده ها مشکل ساز میشه

در ابتدای فایل مورد اشاره دستور

<? ob_start(); ?>

و در انتهای اون

<? ob_flush(); ?>

قرار بدید تست کنید

Share this post


Link to post
Share on other sites

بسیار عالی

مشکل حل شد. میشه یه کم اطلاعات راجع به این کد بدین؟ چی کارمیکنه؟

Share this post


Link to post
Share on other sites

به طور پیش فرض توی php خروجی بافر نمیشه یعنی هر زمانی که شما دستوری مانند echo بدید همون موقع اجرا میشه

وقتی که شما با این خطا مواجه میشید یعنی قبل از اینکه Header شما که html هست اجرا بشه دستورات php اجرا شدند پس لازم داریم که کاری کنیم اول Header اجرا بشه بعد دستورات php ما

برای اینکار باید بافر رو فعال کنیم و دستورات php خودمون رو بافر کنیم و بعد از اجرا شدن Header ، خروجی بافر شده رو فراخوانی و نمایش بدیم بنابراین ابتدا تابع ob_start(); رو فراخوانی میکنیم تا کدهای ما بافر بشن و در پایان با تابع ob_flush(); بافر رو اجرا میکنیم.

Share this post


Link to post
Share on other sites

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری