رفع مشکل نمایش صفحه سفید White Screen Of Death در وردپرس
اگر از کاربران چندین و چند ساله ی وردپرس باشید، حتما تا امروز دست کم یک بار هم که شده با با صفحه ی سفید آزار دهنده ی وردپرس مواجه شده اید. صفحه سفید یا White Screen of Death در کنار خطای برقراری ارتباط با پایگاه داده و همچنین خطای کمبود مموری در وردپرس، یکی از آزار دهنده ترین مشکلاتی است که میتواند برای شما در وردپرس اتفاق بیافتد. گاهی ممکن است تنها در بخش خاصی از سایت، مثلا تنها ناحیه مدیریت وردپرس، چنین مشکلی را مشاهده کنید و یا اینکه چنین مشکلی تنها در پست خاصی به چشم بخورد. ولی واقعیت این است که در اکثر مواقع رفع این مشکل آنقدر ها هم که ممکن است فکر کنید، دشوار نیست. امروز مسترکد تصمیم دارد عیب یابی مشکل نمایش صفحه سفید در وردپرس را به شما کاربران عزیز و همراهان همیشگی، آموزش دهد. با ما همراه باشید.
مشکل صفحه سفید وردپرس (White Screen of Death) به چه علت پیش می آید؟
در اکثر موارد، دلیل نمایش صفحه ی سفید در وردپرس بسیار ساده است. کمبود مموری! در عین حال ممکن است مشکل از افزونه ای غیر استاندارد، یک قالب غیر استاندارد و یا صرفا پس از یک آپدیت و به علت عدم هماهنگی اجزای سیستم با هم پیش آمده باشد. و خوب از این احتمال هم نباید بگذریم، گاهی ممکن است مشکل اصلا در وردپرس نباشد، ممکن است یک مشکل سراسری در هاست شما وجود داشته باشد. در چنین مواقعی بهترین کار این است که اگر سایتهای دیگری هم بر روی یک سرور مشترک / هاست مشترک دارید، آنها را نیز بررسی کنید و ببینید که آیا همه ی آنها با هم دچار چنین خطایی شده اند یا خیر. طبعا اگر همه با هم دچار مشکل نمایش صفحه ی سفید شده باشند و مطمئن هم باشید که قبلا آپدیت اتوماتیک وردپرس را غیر فعال کرده اید، پس مشکل میتواند از میزبان شما باشد. بنابراین لازم است که با انها ارتباط برقرار کرده و از آنها راهنمایی بخواهید. (یک توصیه ی خیلی مهم : هیچ وقت در مقابل کسی که میتواند به شما کمک کند، حق به جانب نباشید و همیشه با نهایت ادب و با در نظر گرفتن اینکه ممکن است طرف مقابل اصلا مقصر نباشد، سوال هایتان را مطرح نمایید. به این شکل همیشه میتوانید انتظار بهترین نتایج را داشته باشید)
شروع عیب یابی و رفع خطا
پیش از انجام هر کاری، مثل همیشه یک نسخه ی پشتیبان کامل از سایت خود تهیه کنید. (تا اوضاع از اینکه هست وخیم تر نشود!)
توجه داشته باشید که انجام این مرحله مختص کسانی است که میتوانند خطاهای php را مطالعه کرده و بررسی کنند. بنابراین اگر با انجام این کار آشنایی کافی ندارید، کافی است از این مرحله عبور کرده و مراحل بعدی را بدون توجه به خطای اتفاق افتاده دنبال کنید تا بالاخره مشکل را یافته و آن را برطرف نمایید.
فایل wp-config.php را برای ویرایش باز کنید و کد های زیر را در آن قرار دهید (بین تگ های شروع و پایان php) :
1 2 3 | error_reporting(E_ALL); ini_set('display_errors', 1); define( 'WP_DEBUG', true); |
توجه داشته باشید که خط دوم این کد ممکن است از قبل در فایل تنظیمات شما موجود باشد. بنابراین به دنبال این خط جستجو کرده و اگر در فایل wp-config.php موجود بود، تنها مقدار false را در آن به true تغییر داده و تغییرات را ذخیره کنید.
توجه داشته باشید که این احتمال وجود دارد که هاست شما امکان استفاده از دستور ini_set را غیر فعال کرده باشد. بنابراین ممکن است لازم باشد این دستور را از خط دوم حذف کنید.
حالا اگر مجددا به سایت خود سر بزنید، این بار بجای صفحه ی سفید، با صفحه ای که انواع خطا ها و هشدار های اتفاق افتاده را به شما نمایش میدهد روبرو خواهید شد. توجه داشته باشید که ممکن است خطا ها و هشدار های متعددی به شما در این صفحه نمایش داده شود. ملاک ما برای عیب یابی و رفع خطا، در این مقاله، خطاهایی خواهد بود که با عبارت Fatal Error شروع می شوند.
حل مشکل کمبود مموری
اگر بعد از فعال کردن نمایش خطاها، با خطایی مشابه Fatal error: Allowed memory size of XXX bytes exhausted مواجه شدید، به این مفهوم است که وردپرس شما نیاز به مموری بیشتری جهت اجرا دارد. برای رفع این مشکل، کافی است آموزش رفع خطای allowed memory sized exhausted را که قبلا در مسترکد برای شما منتشر شده مطالعه نمایید.
غیر فعال کردن افزونه ها
اگر در خطایی که مشاهده میکنید، آدرس فایل افزونه ی خاصی درج شده، کافی است به سادگی با مراجعه به فایل منیجر هاستتان و سپس رفتن به فولدر wp-content/plugins افزونه ی مورد نظر را تغییر نام داده یا حذف نمایید تا مجددا به وبسایتتان دسترسی پیدا کنید.
حال اگر قادر به مطالعه ی خطا و پیدا کردن افزونه ی مشکل دار نیستید، نگران نباشید، کافی است آموزش غیر فعال کردن همه افزونه ها بدون دسترسی به مدیریت را مطالعه نمایید.
طبعا بعد از اینکه افزونه یا افزونه های مشکل دار را غیر فعال کنید، مجددا به وبسایت خود دسترسی خواهید داشت.
غیر فعال کردن قالب های مشکل ساز
اگر تا اینجا رسیده اید و مشکل شما هنوز حل نشده، احتمالا پای یک قالب مشکل ساز در میان است. اگر مرحله ی اول آموزش را انجام داده اید و حالا Fatal error شما در یکی از فایلهای قالب سایتتان اتفاق می افتد، باید قالب مشکل آفرین را غیر فعال یا حذف کنید.
در حالت عادی، معمولا تغییر نام یا حذف قالب مشکل ساز، باعث میشود که وردپرس به قالب اصلی خود سوئیچ کرده و مشکل به سرعت برطرف شود. (حتما قبل از اعمال این تغییرات، از فولدر پوسته ها بکاپ تهیه کنید) ولی اگر این روش برای شما جواب ندهد، لازم است که قالب را از طریق مراجعه به دیتابیس تغییر دهید.
اگر با دیتابیس وردپرس آشنایی ندارید، ابتدا راهنمای مدیریت دیتابیس وردپرس را مطالعه کرده و سپس در جدول wp_options مقادیر موجود در template, stylesheet, and current_theme را به نام یکی از پوسته های پیشفرض وردپرس تغییر دهید. مثلا Twenty Seventeen
اگر مشکل فقط در نوشته های طولانی اتفاق می افتد
اگر مشکل نمایش صفحه سفید فقط در نوشته های طولانی اتفاق می افتد، میتوانید کد زیر را به فایل wp-config.php خود اضافه کنید:
1 2 | ini_set('pcre.recursion_limit',20000000); ini_set('pcre.backtrack_limit',10000000); |
طبعا این راه حل ممکن است روی بسیاری از هاستینگ ها و خصوصا روی هاست های اشتراکی اصلا جواب ندهد (و سایت شما دچار internal server error شود) ولی خوب شاید امتحانش ارزش داشته باشد. نه؟ اگر افزودن این مقدار تاثیری نداشت، کافی است آن را خذف نمایید.
امان از کش!
چه باور کنید و چه نکنید، ممکن است مشکل از کش باشد! اگر به ناحیه ی مدیریت دسترسی دارید و تنها طرف کاربری سایت برایتان باز نمیشود و اگر از افزونه های کش استفاده میکنید، کافی است شانس خود را با خالی کردن کامل کش وبسایت (و همچنین کش مرورگر خودتان) تست کنید. شاید همین راه حل ساده، پاسخ مشکل شما باشد.
و ای وای از بد شانسی …
باور بکنید یا نکنید، اگر همه ی روش های بالا را امتحان کردید و باز هم پاسخی نگرفتید، ممکن است فایلهای هسته ی وردپرس شما واقعا آسیب دیده باشند و نیاز باشد که وردپرس را از ابتدا روی سایت خود نصب کنید. این مسئله را با توجه به خطاهای نمایش داده شده در سایتتان (که در مرحله اول فعال کردیم) میتوان تشخیص داد. بنابراین حتما خطاهای سایت را بررسی کرده و بر اساس آنها اقدام کنید.
در پایان
اگر مشکلتان برطرف شد، فراموش نکنید که کدهایی که برای نمایش خطا، در مرحله اول به فایل wp-config.php اضافه کرده بودید را حذف کنید. نمایش خطاها، در یک سایت لایو، اصلا ایده ی خوبی نیست.
تا حالا با چنین مشکلی مواجه شده اید؟ اگر پاسخ شما مثبت است، چگونه مشکل را برطرف کرده اید؟ روشتان را با ما در بخش نظرات شریک شوید.
سلام
ببخشید منظورتون از بین تگ های شروع و پایان php چیست؟ میشه واضح بگید تا انجامش بدم.ممنون
سلام
پی اچ پی با تگ
< ? php
شروع و با تگ
? >
تموم میشه
سلام من همه ان کار ها را انجام دادم درست نشد …
ولی یک افزونه نصب کرده بودم به اسم WP-Farsi که اختلال در زمان می اورد که اونو پاک کردم درست شد موفق باشید.
سلام
بعد ما در بخش "غیر فعال کردن افزونه ها" چی گفتیم پس؟!
سلام
ممنون از مطلب خوبتون
من ی مشکلی دارم ولی نمیدونم چطور رفع کنم
قبلا ی قالب روی سایتم نصب کردم بعدش قالب دیگه نصب کردم
الان وقتی میرم قالب قبلی رو فعال کنم هم مدیریت و هم صفحه سایت سفید میشه
همه افزونه ها رو هم غیر فعال میکنم
ممنون میشم کمک کنید تا قالبو نصب کنم
در ضمن قالب نسخه اصلی میباشد
سلام
دوست عزیز قالبتون یه مشکلی داره حتما.
توی آموزش توضیح دادیم چطور خطاها رو مشاهده کنید.
سلام
آخه قبلا لود میشد
در ضمن قالبو پاک کردم دوباره نصب کردم قالب هم قالب نسخه اصلی هست
سلام
دوست عزیز این آموزش رو برای همین گذاشتیم که شما بتونید ایرادها رو پیدا کنید. از آموزش استفاده کنید تا ببینید چه مشکلی دارید.
مطلبتون خوب بود برای پیدا کردن نوع پیغام خطا ولی برای راه حل به نظرم طیف مشکلات خیلی وسیع تره و به شخصه خودم با جستجوی عبارت خطا تونستم راه حل های مختلفی از فروم خود وردپرس پیدا کنم و مسأله رو حل کنم.
به عنوان مثال خطاهایی که ناشی از فایل capabilities.php هستند و …
موفق و پیروز باشید.
همونطور که از موضوع آموزش هم مشخصه هدف پیدا کردن خطا بوده که بتونید شروع به حلش کنید!
سلام ممنون میشم اگه کمک کنید:
بنده ورژن جدید قالبم رو نصب کردم ولی بیشتر جاهای سایت بالا نمیاد و سفید مشه (یک نمونش اینکه وقتی تو سایت نظر ثبت میشه صفحه سفید میاد بالا- یا اینکه بخوام یک فایل مثلا عکس رو در مدیا آپلود کنم اصلا لود نمیشه)
در ضمن قالب جدیدم روی لوکال هاست مشکلی نداره فقط روی هاست مشکل دارم
سلام
در آموزش همه چیز خیلی واضح توضیح داده شده. کافیه مطالعه کنید تا بتونید مشکلتون رو حل کنید.
با سلام
این مشکل صفحه سفید حسابی کلافه ام کرده
در حالت عادی هیچ مشکلی وجود نداره حالت دیباگ را هم فعال میکنم هیچ پیغامی نمیده ولی بعد دوسه روز بدون اینکه هیچ تغییری ایجاد بکنم یا افزونه و قالبی نصب بکنم صفحه سفید ظاهر میشه کل صفحات حتی وارد ادمینم نمیشه اسم پوشه قالب و افزونه ها را هم تغییر میدم بازم درست نمیشه
وقتی فایلهای ورد پرس را جایگزین میکنم سایت درست میشه لطفا راهنمایی بکنید چیکار باید بکنم
در ضمن با هاست هم مطرح کردم مشکلی از طرف هاست وجود نداره مصرف منابعم در حد نرمال هست
همون موقعی که مشکل براتون پیش میاد باید شروع به عیب یابی کنید ببینید خطایی که پیش اومده چیه … بدون عیب یابی نظری نمیشه داد.
خطایی که میده مربوط به فانکشن وردپرس هست فکر کنم لاین 3114
از اونجایی که چیزی با عنوان فانکشن وردپرس نداریم، طبعا با حدس و گمان و بدون عیب یابی صحیح امکان رفع مشکل وجود نداره.
اگر هم منظورتون فایل functions.php قالبتون هست که خوب مشخصه مشکل از کجاست. بعد هم فایل functions.php هر قالب با قالب دیگه متفاوت هست و در واقع کسی نمیدونه در لاین 3114 فایل مربوط به قالب شما چه چیزی وجود داره که باعث بروز خطا میشه. این رو باید خودتون وقتی براتون مشکل پیش میاد همون لحظه بررسی و رفع کنید.
باسلام
میشه بفرمایید این خطا مشکلش ازکجاست
Error establishing a database connection
سلام
خطای شما، خطا در برقراری ارتباط با پایگاه داده هست.
در مرحله ی اول اطلاعات اتصالتون رو چک کنید. و اطمینان حاصل کنید که در رمز دیتابیس از کارکترهای خاص استفاده نکردید. اگر این مسئله نتونست مشکلتون رو حل کنه از آموزش زیر استفاده کنید :
https://mrcode.ir/?p=3705
سلام
افزونه فرم تماس با ما یک تداخل ایمیلی پیش اومد یعنی اشتباهی در قرار دادن ایمیل های فرستنده گیرنده کردم و مثل هم شدن
و الان
من هر فعالیتی رو که ذخیره میکنم صفحه سفید میشه
اون تغییر انجام هم میشه ولی بارگزاری نمیشه صفحه سفید میشه
باید چیکار کنم؟
با تشکر
سلام
روش رفع مشکل نمایش صفحه سفید رو در این آموزش توضیح دادیم. میتونید مطالعه کنید و مشکلتون رو با استفاده از آموزش حل کنید.
سلام
مرسی از مقاله خوبتون سایت منم هم قسمت فید (feed) مشکل داشت که با بررسی فهمیدم مشکل از تداخل یه افزونه است و با این مقاله مشکل به طور کامل رفع شد