إصلاح خطأ Warning: Cannot modify header information – headers already sent by (output started at في ووردبريس.
السلام علكم ورحمة الله تعالى وبركاته
مرحبا بزوار ومتابعي مدونة الشهادة, عندما نتكلم عن ووردبريس نكون بصدد الحديث عن الإختيار الأول الذي يمكن أن تفكر فيه لإنشاء موقع متكامل فهو قابل للتخصيص كيفما تشاء حيث أنك تقوم بضغطة زر بإزالة أو تركيب مكون جديد من مكونات أجزاء الووردبريس .
الأمر رائع جداً لكن لا يعني أنك بمجرد تنصيبك للوردبريس على موقعك فلن تواجه أي مشاكل أو عثرات على مستوى ملف من الملفات الرئيسية لبرنامج ووردبريس نفسه ، كما هو الحال بالنسبة لملف الإعداد حامل إسم ( wp-config.php ) وهو اختصار لما معناه ” إعدادات الووردبريس ” أو بملف أخر حساس بملفات القالب يسمى ( functions.php ) وهو ملف يحتوي على وظائف محددة تقوم بعمل معين على القالب وحده فقط ما دام قيد التفعيل .
ملف functions.php يعد قلب القالب حيث أن أي خطأ بسيط فيه يؤدي إلى إنهيار تام لعملية تحميل الملفات الأخرى المكونة له .
في هذا المقال سنتطرق للحديث عن خطأ Cannot modify header information المنتشر بكثرة في الووردبريس وعن طريقة اصلاحه وتخطي صفحات الخطأ التي تصدر عن تلك الأخطاء والمشاكل .
عندما يتم تعطيل القالب الذي يشتغل عليه الموقع، مباشرة يتعطل مفعول هذا الملف – أي ملف الوظائف – ومعه الملفات المرفقة بالقالب، التي تشكل هيكل وتنسيق الموقع. بالنسبة لملف الإعدادت، الذي يتواجد خارج مجلد القالب طبعا، والذي يشكل العمود الفقري لبرنامج ووردبريس، لكي يشتغل أي شيء وكل شيء على الموقع، لكن على ماذا يحتوي هذا الملف كي يكون مهما إلى هذه الدرجة ؟
ما هو ملف إعدادات ووردبريس wp-config.php ؟
ملف wp-config.php ملف صغير الحجم يبلغ حجمه 3.28 Kb تقريباً ويحوي اعدادات الووردبريس الأساسية التي من شأنها ربط الووردبريس مع خادم استضافة معينة ومحتوياته الأساسية دون التطرق إلى التفاصيل الأخرى ، مثل
- إسم قاعدة البيانات
- إسم مستخدم قاعدة البيانات
- كلمة سر المستخدم لقاعدة البيانات
- إسم استضافة قاعدة البيانات
1234567891011/** إسم قاعدة البيانات */ define('DB_NAME', 'Name_Here'); /** إسم مستخدم قاعدة البيانات */ define('DB_USER', 'User_Here'); /** كلمة السر لمستخدم قاعدة البيانات */ define('DB_PASSWORD', 'Password_Here'); /** إسم مستضيف قاعدة البيانات*/ define('DB_HOST', 'Host_here');
الكود السابق يظهر بعض المعلومات المطلوب توفرها في ملف الإعدادات وهي بيانات حساسة بشكل كبير جداً بدونها لا نستطيع أن نربط ملفات الووردبريس بخادم الإستضافة التي نستخدمها .
هذا كما ذكرت، من الملفات الحساسة، والذي عادة ما يكون مصدر جل مشاكل الموقع أثناء التنصيب، أو بعد القيام بتعديل يدوي غير صحيح.
حتى يكون الإرتباط ناجحا، وتفادي رسالة خطأ الإتصال الشائعة على ووردبريس،
خطأ في إنشاء اتصال بقاعدة البيانات
كما توضح الرسالة، أن الخطأ نتج عن مشكل في ربط الإتصال مع قاعدة البيانات، والسبب هو دون شك خطأ في المعلومات التي قمت بتزويد نظام ووردبريس بها، حيث يعجز عن الإتصال، ما يعني عدم القدرة على إنشاء الجداول الخاصة بووردبريس، التي عددها بشكل افتراضي هو 11 جدولا.
هذا الخطأ يمكن أن ينتج إما أثناء تركيب ووردبريس، أو بعد تعديل غير سليم على ملف الإعدادات، بعد التركيب. الحل لتجاوز هذه رسالة الخطأ وإتمام العملية، هو بالتأكد من المعلومات التي تخص خادمك،
خطأ Cannot modify header information
هذا من بين الأخطاء الشائعة أيضا التي يواجهها مستخدم ووردبريس أثناء تعديل غير سليم على ملف الإعدادات wp-config.php، ونص الرسالة الكامل الذي يظهر على صفحة بيضاء، بعد انهيار كامل للموقع، يكون على هذا الشكل:
Warning: Cannot modify header information – headers already sent by (output started at
كما ذكرنا، هذا ملف حساس جدا، ومن أبرز تجليات هذه الحساسية، هو الخطأ الذي يظهر بالأعلى، الذي تتسبب به زيادات جد بسيطة على الشفرة البرمجية الأصلية. فأي سطر فارغ يسبق وسم افتتاح كود php أو بعد إغلا ق الوسم ذاته سيؤدي إلى انهيار كامل مبرزا الرسالة المذكورة، مع إشارة للسطر الذي يجب تصحيحه بالملف ذاته
1234567لا يجب أن يكون هنا أي فراغ
<?php
//هنا يتم إدراج جميع أكواد ملف الإعدادات
?>
لا يجب أن يكون هنا أي فراغ أيضا
طريقة مفيدة وجدية في كتابة أوسمة php
هو استخدام فقط وسم الإفتتاح، دون أن تقوم بإغلاقه في اخر الملف، مما يجعل السيرفر يعتبر أنها صفحة “كاملة” تستخدم فقط لغة php
ولا تحتوي أوسمة لغة أخرى، مثل
HTML
.
لا تستخدم هذه الطريقة بملفات تحتوي خليط من لغات الويب.
يجب الإنتباه إلى نقطة مهمة أثناء القيام بالتعديلات على أي ملف من ملفات ووردبريس، والتي من بينها ملف الإعدادات، وكذلك ملفات مجلد القالب، وهي استخدام محرر أكواد مخصص مثل Brackets على نظام ويندوز أو Sublime Text على نظام Mac، أو محرر نصوص “مسطح” مثل Notepad.
لا تستخدم أبدا محرر نصوص عادي مثل برنامج شركة مايكروسوفت Word . بالإضافة إلى ذلك، يجب مراعات صيغة تكويد الملف التي من المستحسن أن تكون بصيغة UTF-8 without BOM وهو اختصار 8-bit Unicode Transformation Format والمقصود به هو نظام تكويد رموز لغة ما.
1Cannot modify header information - headers already sent by (output started at /path/blog/wp-config.php:34) in /path/blog/wp-login.php on line 42
هذا مثال حي على شكل الخطأ، مع تحديد لمصدر الخطأ بالإشارة إلى رقم السطر. لاحظ أن الخطأ يشير إلى سطرين مختلفين، الأول على ملف الإعدادات، والثاني على ملف يدعى wp-login.php
مصدر الخطأ بهذه الحالة هو ملف الإعدادات، والملف الثاني هو ضحية هذا الخطأ، ولا علاقة له بهذه الرسالة. رسالة الخطأ في هذه الحالة ناتجة عن مسافة فارغة زائدة بالسطر رقم 34 المشار له بملف الإعدادات الرئيسية.
ملاحظة يجب أن أشير لها بخصوص هذا الخطأ، أنه ليس حصريا فقط على ملف الإعدادات، بل يمكن أن يطال أي ملف يتم التعديل عليه بطريقة خاطئة، بترك فراغ أول أو نهاية الملف، أو بحفظ الملف بصيغة تكويد مغايرة للمذكورة أعلاه،
UTF-8
خلاصة
كل ما جاء ذكره في مقالي, هذه هي أغلب المشاكل الشائعة العامة عند استخدام ووردبريس، التي تواجه أغلب مستخدمي البرنامج، بغض النظر عن لغة الإستخدام أو نوع خادم الإستضافة، وغيرها من العوامل. بالطبع هنالك لائحة أخرى من رسائل الخطأ التي من المحتمل أن تواجهها، أثناء استخدامك لووردبريس، التي تكون ذات طابع خاص أو شخصي، متعلقة أساسة بالإضافات، القوالب والوظائف المخصصة التي تقوم بإدراجها على ملف الوظائف على القالب.
أريد أن أشير إلى أن أغلب المشاكل الأخرى التي قد تواجهها، تكون صادرة بشكل كبير عن أخطاء يرتكبها المستخدم نفسه أثناء التعديل على ملف من الملفات، أو تحميل غير كامل أو صحيح لملف معين، أو عن برمجة بها أخطاء. بكلمات أخرى أن ووردبريس برنامج “نظيف” إلى حد كبير، وأن أغلب الأخطاء تكون بعد التعديل على البرنامج، لذلك من المهم جدا أن تحسن التعامل مع ووردبريس بذكاء، باستخدام محرر أكواد مخصص لتعديل الأكواد البرمجية، مع مراعاة صيغة الترميز، خاصة للملفات الحساسة، والتركيز على العمل أثناء القيام بالتعديلات عليها، لأنه غالبا ما نقع في أخطاء بسبب تشتت التركيز أثناء التعديل، الأمر الذي قد يهدر لنا وقت كثيرا عند البحث عن حل مشكل معين.
مرحبًا ،
آمل أن تكونوا بأتم الصحة والعافية. أردت أن أشارك معكم فرصة مذهلة للتعلم عبر الإنترنت.
إذا كانت لديكم أي استفسارات أو تحتاجون إلى مزيد من المعلومات، فلا تترددوا في الاتصال بنا.
I was wondering if you ever considered changing the layout of your blog? Its very well written; I love what youve got to say. But maybe you could a little more in the way of content so people could connect with it better. Youve got an awful lot of text for only having one or two images. Maybe you could space it out better?
What’s up friends, its enormous article about tutoringand fully explained, keep it up all the time.
Hello there, You have done a great job. I will definitely digg it and personally recommend to my friends. I am sure they will be benefited from this web site.
You really make it seem so easy with your presentation but I find this topic to be really something which I think I would never understand. It seems too complicated and very broad for me. I am looking forward for your next post, I will try to get the hang of it!
Thanks in favor of sharing such a nice idea, piece of writing is pleasant, thats why i have read it completely
It’s a shame you don’t have a donate button! I’d certainly donate to this superb blog! I suppose for now i’ll settle for book-marking and adding your RSS feed to my Google account. I look forward to brand new updates and will talk about this site with my Facebook group. Chat soon!
Pretty great post. I simply stumbled upon your blog and wanted to mention that I have really enjoyed browsing your blog posts. In any case I’ll be subscribing for your feed and I am hoping you write again soon!
There is definately a lot to know about this topic. I like all the points you’ve made.
Excellent blog! Do you have any suggestions for aspiring writers? I’m planning to start my own site soon but I’m a little lost on everything. Would you propose starting with a free platform like WordPress or go for a paid option? There are so many choices out there that I’m totally confused .. Any recommendations? Cheers!
Thank you for the auspicious writeup. It in fact was a amusement account it. Look advanced to far added agreeable from you! By the way, how can we communicate?
VIP мужской эротический массаж Москва в spa
Для вас частный эромассаж Москва с массажистками на выбор
Элитный мужской эромассаж Москва – тайский салон
Грамотный частный эромассаж в Москве с массажистками на выбор
Incredible quest there. What occurred after? Thanks!
It’s really a cool and helpful piece of information. I’m glad that you shared this helpful info with us. Please stay us informed like this. Thank you for sharing.
Hey very interesting blog!
Article writing is also a fun, if you know after that you can write or else it is complex to write.
It’s really a cool and helpful piece of information. I’m glad that you shared this helpful info with us. Please stay us informed like this. Thank you for sharing.
This design is steller! You certainly know how to keep a reader entertained. Between your wit and your videos, I was almost moved to start my own blog (well, almost…HaHa!) Fantastic job. I really enjoyed what you had to say, and more than that, how you presented it. Too cool!
It’s a shame you don’t have a donate button! I’d most certainly donate to this brilliant blog! I suppose for now i’ll settle for book-marking and adding your RSS feed to my Google account. I look forward to brand new updates and will talk about this blog with my Facebook group. Chat soon!
Good day! I know this is kinda off topic nevertheless I’d figured I’d ask. Would you be interested in exchanging links or maybe guest writing a blog article or vice-versa? My website addresses a lot of the same subjects as yours and I feel we could greatly benefit from each other. If you happen to be interested feel free to send me an e-mail. I look forward to hearing from you! Terrific blog by the way!
Keep on working, great job!
hey there and thank you for your information I’ve definitely picked up anything new from right here. I did however expertise some technical issues using this web site, since I experienced to reload the web site a lot of times previous to I could get it to load properly. I had been wondering if your web hosting is OK? Not that I am complaining, but sluggish loading instances times will very frequently affect your placement in google and can damage your quality score if advertising and marketing with Adwords. Anyway I’m adding this RSS to my e-mail and can look out for a lot more of your respective interesting content. Make sure you update this again soon.
With havin so much written content do you ever run into any problems of plagorism or copyright violation? My site has a lot of exclusive content I’ve either created myself or outsourced but it appears a lot of it is popping it up all over the web without my agreement. Do you know any techniques to help protect against content from being ripped off? I’d truly appreciate it.
Good day! I know this is kinda off topic but I was wondering which blog platform are you using for this site? I’m getting tired of WordPress because I’ve had issues with hackers and I’m looking at options for another platform. I would be great if you could point me in the direction of a good platform.
It’s a shame you don’t have a donate button! I’d certainly donate to this fantastic blog! I suppose for now i’ll settle for book-marking and adding your RSS feed to my Google account. I look forward to brand new updates and will talk about this site with my Facebook group. Chat soon!
Hey very nice blog!! Guy .. Beautiful .. Superb .. I will bookmark your blog and take the feeds also? I am glad to seek out so many useful information here in the post, we’d like develop more strategies in this regard, thank you for sharing. . . . . .
What’s up, this weekend is pleasant designed for me, because this time i am reading this wonderful informative post here at my house.
Hello there! This is my first visit to your blog! We are a collection of volunteers and starting a new initiative in a community in the same niche. Your blog provided us valuable information to work on. You have done a marvellous job!
Good way of describing, and nice piece of writing to take data regarding my presentation topic, which i am going to convey in institution of higher education.
Thanks for finally writing about > %blog_title% < Liked it!
I was able to find good information from your blog posts.
Hello! I could have sworn I’ve been to this site before but after browsing through some of the posts I realized it’s new to me. Nonetheless, I’m definitely happy I found it and I’ll be bookmarking it and checking back regularly!
Hey There. I found your blog using msn. This is a very well written article. I will be sure to bookmark it and come back to read more of your useful information. Thanks for the post. I will definitely comeback.
Wow, this article is good, my sister is analyzing such things, so I am going to tell her.
You’re so cool! I don’t think I’ve read something like this before. So great to find somebody with some unique thoughts on this subject. Really.. thank you for starting this up. This site is something that is needed on the web, someone with some originality!
I’ve been exploring for a little for any high-quality articles or blog posts in this kind of space . Exploring in Yahoo I eventually stumbled upon this web site. Reading this info So i’m glad to express that I have a very just right uncanny feeling I came upon exactly what I needed. I such a lot definitely will make certain to don?t put out of your mind this site and give it a look on a constant basis.
Hey there outstanding blog! Does running a blog similar to this take a massive amount work? I have no expertise in computer programming but I was hoping to start my own blog soon. Anyway, if you have any suggestions or tips for new blog owners please share. I know this is off topic but I just needed to ask. Thank you!
Spot on with this write-up, I truly feel this website needs a lot more attention. I’ll probably be back again to read through more, thanks for the info!
Howdy, I think your web site may be having internet browser compatibility issues. When I look at your web site in Safari, it looks fine however, if opening in IE, it has some overlapping issues. I just wanted to give you a quick heads up! Besides that, great website!
Wow, this piece of writing is pleasant, my sister is analyzing these things, so I am going to let know her.
Thank you for any other fantastic article. Where else may anyone get that kind of information in such a perfect approach of writing? I have a presentation next week, and I am at the look for such information.
Howdy I am so excited I found your webpage, I really found you by mistake, while I was researching on Askjeeve for something else, Regardless I am here now and would just like to say many thanks for a incredible post and a all round thrilling blog (I also love the theme/design), I don’t have time to read through it all at the minute but I have saved it and also included your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep up the excellent job.
Hi
Thanks for the great article
Your blog ashahada.com is great and has great and useful content
Thanks, Serena Madigan
Thank you, I am honored by your passing
you are welcomed at any time
Hi,
I hope you are doing well.
I want to contribute a guest post article to your website that may interest your readers.
It would be of high quality and free of cost. You can choose the topic of the article from the topic ideas that I’ll send you in my next email once you approve this offer.
Please note that I will need you to give me a backlink within the guest post article.
Please let me know if I shall send over some amazing topic ideas?
Regards,
Lindsay Johnson