خطای - headers already sent by (output Cannot modify header information در php

0 دوستدار 0 امتیاز منفی
با سلام
بنده در php پی اچ پی برنامه ای نوشته ام که قبلا کار می کرده است و اکنون با تغییر ورژن php برنامه من کار نمی کند!
خطا :
Cannot modify header information - headers already sent by (output started at /home/mywebsite/public_html/somewhere/myfile1.php:1) in /home/mywebsite/public_html/somewhere/myfile2.php on line 33
سوال شده آذر 26, 1394 در برنامه نویسی توسط کیان
دوباره دسته بندی کردن آذر 26, 1394

1 پاسخ

0 دوستدار 0 امتیاز منفی
این خطا به این معناست که هدر برای مرورگر قبلا ارسال شده است (معمولا توسط فایل دیگری که اینکلود شده) و نمی توانید بار دیگر هدر را ارسال کنید این خطا در ورژن های مختلف php  متفاوت است اما به دلایل مختلف ممکن است با این خطا مواجه شوید که به طور خلاصه به آنها اشاره می کنم:
قبل یا بعد از تگ های شروع و پایان  ( <?  .... php ?> ) فاصله خالی وجود داشته باشد.
اشکال در نحوه انتخاب uft فایل معمولا خط اول را به عنوان خطا نشان می دهند مانند مورد شما که بهتر است با استفاده از notepad++ یونیکد خود را به UTF-8  Without BOM تعییر دهید
هر یک از این توابع پی اچ پی در فایلی هایی که قرار است فراخوانی شوند:

    print, echo, printf, vprintf
    trigger_error, ob_flush, ob_end_flush, var_dump, print_r
    readfile, passthru, flush, imagepng, imagejpeg
توجه داشته باشید که این توابع برای نمایش هستند و باید در فایل خروجی یا output اجرا شوند.
این مشکل معمولا زمانی که از تابع header() استفاده می کنید پیش می آید و باید قبل از تگ <html> مورد استفاده قرار گیرد
پاسخ داده شده آذر 26, 1394 توسط سمیه مظفری (11,040 امتیاز)

سوالات مشابه

0 دوستدار 0 امتیاز منفی
1 پاسخ
سوال شده مهر 5, 1397 توسط سعید
0 دوستدار 0 امتیاز منفی
1 پاسخ
0 دوستدار 0 امتیاز منفی
1 پاسخ
0 دوستدار 0 امتیاز منفی
1 پاسخ
سوال شده مهر 22, 1395 در برنامه نویسی توسط علی
تماس با ما | پست الکترونیکی یا email ما : | تبلیغات در یاد بگیر دات کام

تمامی حقوق برای یاد بگیر دات کام محفوظ است.
پرسش و پاسخ یاد بگیر دات کام

...