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

1 پاسخ

0 دوستدار 0 امتیاز منفی
توسط (15.5k امتیاز)
این خطا به این معناست که هدر برای مرورگر قبلا ارسال شده است (معمولا توسط فایل دیگری که اینکلود شده) و نمی توانید بار دیگر هدر را ارسال کنید این خطا در ورژن های مختلف 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> مورد استفاده قرار گیرد

سوالات مشابه

0 دوستدار 0 امتیاز منفی
1 پاسخ
0 دوستدار 0 امتیاز منفی
1 پاسخ
0 دوستدار 0 امتیاز منفی
1 پاسخ
...