برطرف کردن صفحه سفید مرگ در وردپرس
صفحه سفید مرگ در وردپرس
اگر چند سالی با وردپرس سروکار داشته باشید حتما تاکنون حداقل یک بار با صفحه سفید مرگ مواجه شدهاید. میتوان گفت مواجه شدن با صفحه سفید مرگ به اندازه برخورد با خطای error establishing a database connection آزاردهنده است. این خطا شما را در خارج از پنل ادمین وردپرستان قفل میکند و به همین دلیل باعث آشفتگی کاربران میگردد. از آنجا که این خطا در اغلب موارد هیچ علامت خارجی از خود نشان نمیدهد، نمیتوانید دلیل آن را کشف کرده و بفهمید دلیل رخ دادن آن چه بوده است. در هنگام مواجهه با صفحه سفید مرگ، بدترین موردی که میتواند رخ دهد این است که این خطا گاهی تنها بر یک قسمت خاص از سایت شما تاثیر میگذارد. برای مثال، این احتمال وجود دارد که شما صفحه سفید مرگ را تنها بر روی ادمین وردپرستان مشاهده کنید و کارکرد سایر موارد هیچ مشکلی نداشته باشند. در موارد دیگر نیز ممکن است این صفحه بر روی پست خاصی دیده شود و در عین حال در سایر بخشها هیچ مشکلی وجود نداشته باشد. ما در این مقاله به شما نشان میدهیم که چگونه با رجوع به راهکارهای احتمالی که ما به شما معرفی خواهیم کرد، از سد صفحه سفید مرگ بگذرید.
نکته: پیش از اعمال هر گونه تغییر در سایت خود، از اینکه بکآپ کافی در اختیار دارید اطمینان حاصل کنید.
چرا این خطا رخ میدهد؟
وقتی با صفحه سفید مرگ مواجه میشوید، در اکثر مواقع این خطا به این معنی است که به محدوده حافظه، فشار زیادی وارد کردهاید. در صورت استفاده از پلاگینی با کارکرد نامناسب نیز ممکن است این خطا رخ دهد. همچنین ممکن است به دلیل وجود مشکلی در سرور میزبانی وب خود، با این خطا برخورد کنید. از آنجا که این خطا ممکن است هر دلیلی داشته باشد، احتمالا اشکالیابی آن مدتی به طول خواهد انجامید.
آیا این مشکل بر وی سایتهای دیگرتان نیز رخ داده است؟
اگر سایتهای چندگانه دارید، اولین کاری که باید انجام دهید این است که مطمئن شوید صفحه سفید مرگ بر روی تمامی آنها رخ داده یا فقط روی یک دامنه اتفاق افتاده است. اگر این مشکل در همه سایتهای شما وجود دارد، قویا نشاندهنده این است که شرکت میزبانی وب شما با مشکلاتی روبرو است. با این حال، اگر این مشکل فقط برای یکی از سایتهای شما پیش آمده، دلیل آن ممکن است پلاگین یا تمی باشد که در حال اجرا است. اگر مشکل تنها برای یک پست یا صفحه پیش آمده باشد، مطمئنا ایراد از سایت خاص شماست.
افزایش محدوده حافظه (Memory Limit)
یکی از دلایل معمول برای بروز این مشکل، فشار آمدن به حافظه است. خودآموز ما در مورد چگونگی افزایش حافظه PHP در وردپرس را مطالعه کنید.
غیرفعال کردن تمامی پلاگینها
در صورتی که افزایش حافظه به رفع مشکل شما کمک نکرد، یا اگر از محدوده حافظه بالایی همچون 256M یا 512M برخوردار هستید، باید عیبیابی را آغاز کنید. با توجه به تجربه ما در عیبیابی چنین مسائلی، در چنین موقعیتی پاسخ سوال شما همیشه در یک قالب یا پلاگین نهفته است. خب بیایید پیشتر رفته و تمامی پلاگینها را غیرفعال کنیم.
از دستورالعمل ما درباره چگونگی غیرفعال کردن یکباره تمامی پلاگینهای وردپرس استفاده کنید.
بعد از غیرفعال شدن پلاگینها اگر مشکل رفع شد، هر بار یک پلاگین را فعال کنید تا ببینیم مشکل از کدام یک از آنها است.
تعویض تم با تم پیشفرض
اگر عیبیابی پلاگین مشکل شما را برطرف نکرد، باید تم کنونی خود را با یک تم پیشفرض تعویض کنید. بهترین روش برای انجام این کار، بکآپ گرفتن از پوشه تم است. سپس تم را حذف کنید. وردپرس بطور اتوماتیک به تم پیشفرض بازمیگردد.
پس از آن، شما میتوانید به phpMyAdmin رفته و جداول دیتابیس در جدول wp-option را آپدیت کنید. جداول نامبرده شده در پایین باید بروز شوند:
template, stylesheet, and current_theme. مقدار را به اسم تم جدید تغییر دهید.
در صورتی که بعد از آن مشکل شما برطرف شد، باید به فایل functions.php تم نگاهی بیندازید. اگر در قسمت تحتانی آن فضای اضافی وجود داشته باشد باید آن را برطرف کنید. ممکن است دلیل مشکل شما این باشد که در فایل functions.php تم خود، از تابعی استفاده میکنید که کدگذاری ضعیفی دارد.
سایر راهحلها
اگر هیچ یک از موارد بالا باعث رفع مشکل نگشت باید دوباره یک کپی تازه از وردپرس را نصب کنید. با این که احتمال این امر کم است، ممکن است یکی از فایلهای اصلی خراب شده باشد.
همچنین میتوانید از تابع debug وردپرس استفاده کنید تا خطاهای تولید شده را ببینید. کد زیر را در فایل wp-config.php خود اضافه کنید.
error_reporting(E_ALL); ini_set('display_errors', 1); define('WP_DEBUG', true);
زمانی که این کد را اضافه کردید، خطاها، هشدارها و اطلاعیهها در صفحه خالی به شما نمایش داده میشود. ممکن است این کار به شما کمک کند تا دلیل اصلی مشکل را پیدا کنید.
در بعضی مواقع، ممکن است به بخش مدیریت(backend) دسترسی داشته اما به نرمافزار نهایی(front-end) دسترسی نداشته باشید و در این قسمت با صفحه سفید مرگ مواجه باشید. دلیل این امر ممکن است یک پلاگین ذخیرهسازی(caching plugin) باشد. خیلی ساده cache(مخزن) خود را خالی کنید.
اگر صفحه سفید مرگ تنها بر روی یک صفحه پست بسیار طولانی رخ داده، بهتر است مخزن پاک کننده(clearing cache) را نیز امتحان کنید. ترفند دیگری که ممکن است برای شما کارگر بیفتد این است که محدوده backtrack و recursion را افزایش دهید. میتوانید کد زیر را در فایل wp-config.php خود paste کنید. یا در برخی از سرورها، لازم خواهد بود تا فایل PHP.INI را اصلاح کنید.
/** Trick for long posts */ ini_set('pcre.recursion_limit',20000000); ini_set('pcre.backtrack_limit',10000000);
صفحه سفید مرگ یکی از خطاهایی است که باعث آشفتگی ذهن میگردد، امیدواریم یکی از ترفندهایی که عنوان کردیم مشکل شما را برطرف سازد. شما برای رفع این مشکل تا بحال از چه روشی استفاده کرده و از آن جواب گرفتهاید؟ اگر راه حل دیگری برای رفع این خطا دارید لطفا آن را با ما در میان بگذارید. ما از مشاهده نظرات شما خوشحال خواهیم شد و به این ترتیب با نظر شما دیگران نیز میتوانند از آن بهره برده و زمان زیادی را صرف یافتن راهکار نکنند.