آموزش رفع صفحه سفید مرگ در وردپرس

بخش: توسعه وب 55 بار مشاهده شده جمعه ۱۲ آبان ۹۶ 0 نظر ارسال شده
آموزش رفع صفحه سفید مرگ در وردپرس

اگر چندین سال است که از وردپرس استفاده می کنید، حداقل یکبار با صفحه سفید مرگ مواجه شده اید. صفحه نمایش سفید مرگ وردپرس مانند خطای ایجاد اتصال به پایگاه داده یکی از آن مشکلات بسیار آزار دهنده می باشد. دلیل آن خسته کننده شدن مراحل پیدا نمودن مشکل است چرا که دسترسی به پنل مدیریت وردپرس شما نیز قفل می گردد.

از آنجا که در اکثر موارد هیچ خروجی خطایی وجود ندارد، شما سرنخی برای یافتن این مشکل ندارید. بدترین حالت در مورد صفحۀ سفید مرگ این است که گاهی اوقات تنها بر قسمت خاصی از سایت شما تاثیر می گذارد. به عنوان مثال، ممکن است تنها صفحه سفید مرگ را در مدیریت وردپرس خود ببینید، در حالی که بقیه موارد به خوبی کار می کنند. در موارد دیگر، ممکن است تنها آن را در یک پست خاص ببینید و در بقیه موارد مشکلی وجود نداشته باشد. در این مقاله به راه حل های موجود برای رفع صفحه سفید مرگ وردپرس می پردازیم.

توجه: پیش از هر گونه تغییر در سایت خود، از داشتن backup سایت اطمینان حاصل کنید.

 

چرا این خطا را دریافت می کنید؟ 

مواجه شدن با صفحه سفید مرگ، اکثرا به معنای تمام شدن محدودیت حافظه شما است. این امر می تواند دارای دلایل بسیاری باشد برای مثال ممکن است افزونه ای که استفاده کرده اید به درستی کار نکند یا قالب سایت شما با کد نویسی ضعیف ایجاد شده باشد حتی وجود مشکلاتی در سرور میزبانی نیز می تواند باعث بروز خطای صفحه سفید مرگ شود. از آنجا که این مشکل می تواند به دلیل تعداد زیادی از موارد ایجاد شود، ممکن است عیب یابی های زیادی را به همراه داشته باشد.

 

 آیا مشکل در سایت های دیگر شما نیز اتفاق می افتد؟ 

اگر چندین سایت داشته باشید، اولین قدم چک کردن مشکل در تمام سایت ها است، باید ببینید که آیا این مشکل در تمام سایت ها اتفاق افتاده یا مختص به یک دامنه خاص می باشد. اگر این مشکل در تمام سایت های شما وجود داشته باشد، قطعا نشانگر وجود مشکل در سرور میزبانی شماست. با این حال، اگر مشکل تنها در یکی از سایت ها وجود دارد، می تواند توسط افزونه یا قالب در حال اجرایتان باشد. اگر این مشکل تنها برای یک پست یا صفحه رخ داده است، پس قطعا مشکلی در سایت خاص شما وجود دارد. 

 

افزایش محدودیت حافظه 

این مشکل عموما در زمان تمام شدن حافظه اتفاق می افتد. برای رفع آن مراحل زیر را دنبال کنید. 

  • ویرایش فایل wp-config.php، فایل wp-config.php در فولدر root وردپرس قرار دارد و برای دسترسی به آن می توانید از FTP Client یا File manager در کنترل پنل میزبانتان استفاده کنید.
  • پس از باز نمودن فایل wp-config.php ،ا کد زیر را بعد از جمله " That’s all, stop editing! Happy blogging" قرار دهید.
define( 'WP_MEMORY_LIMIT', '256M' );

این کد حافظه PHP را تا 256MB افزایش می دهد.

بعد از انجام تغییرات، فایل را ذخیره کرده و مجددا فایل wp-config.php را در سرور قرار دهید.

هم اکنون می توانید سایت وردپرسی خود را ببینید و خطای تمام شدن حافظه (memory exhausted error) باید ناپدید شده باشد. 

نکته: اگر با انجام مراحل بالا مشکل رفع نشد، باید از ارائه دهنده میزبانی وب خود بخواهید تا محدودیت حافظه PHP را به صورت دستی افزایش دهند. زیرا ارائه دهنده خدمات میزبانی وب شما به وردپرس اجازه افزایش دامنه حافظه را نمی دهد. 

 

غیر فعال کردن تمام افزونه ها

 اگر افزایش محدودیت حافظه کمکی نکرد یا اینکه دارای حافظه بالایی مانند 256M  یا 512M می باشید، لازم است عیب یابی کنید. در تجربۀ عیب یابی متوجه شده ایم که این مشکل یا مرتبط با افزونه یا قالب خاص است. آموزش زیر نحوه غیر فعال کردن تمام افزونه های وردپرس به صورت همزمان را نشان می دهد.در این روش، باید از FTP client یا file manager میزبان خود استفاده کنید.

ابتدا با استفاده از FTP client یا file manager در cPanel به وب سایت خود وصل شوید. پس از اتصال، باید به فولدر /wp-content/ بروید.

در داخل فولدر wp-content، یک فولدر به نام plugins وجود دارد. این جایی است که وردپرس تمام پلاگین هایی که در وب سایت شما نصب شده اند را ذخیره می کند.بر روی فولدر plugins راست کلیک کرده و Rename را انتخاب کنید. نام فولدر plugins را به هر چیزی که دوست دارید تغییر دهید. در مثال ما آن را "plugins.deactivate" می نامیم.

بعد از انجام اینکار تمام پلاگین های شما غیرفعال می شوند.picture معمولا این روش در زمانی که ناحیه مدیریت شما قفل شده استفاده می شود. اگر مشکل در افزونه ها باشد، اکنون می توانید به قسمت مدیریت وردپرس خود وارد شوید.پس از انجام این کار، به فولدر /wp-content/ بروید و نام "plugins.deactivate" را به plugins تغییر دهید. حالا می توانید افزونه ها را به صورت تک تک فعال کنید. در نتیجه زمانی که با فعال نمودن یک افزونه سایت مجددا از دسترس خارج شود می دانید که این مشکل توسط کدام افزونه ایجاد شده است. 

 

قالب را با قالب پیش فرض جایگزین کنید 

اگر عیب یابی افزونه مشکل را برطرف نمی کند، پس باید قالب فعلی خود را با قالب پیش فرض twenty ten  جایگزین کنید. بهترین راه برای انجام این کار، back up گیری از فولدر theme است. تنها کافی است theme را حذف کنید تا وردپرس به طور خودکار از theme پیش فرض استفاده کند.

همچنین می توانید به phpMyAdmin بروید و جداول پایگاه داده را در جدول wp_options را به روز کنید. نام جدول های زیر باید به روز شوند:

Template، stylesheet, و current_theme. مقدار را به twentyeleven تغییر دهید.

اگر اینکار مشکل را رفع نمود، باید به فایل functions.php قالب خود نگاهی بیندازید. اگر فضای اضافی در پایین آن وجود دارد، آن را تصحیح کنید. اگر از تابعی با کد نویسی ضعیف در فایل functions.php قالب خود استفاده می کنید، پس دلیل ایجاد شدن این مشکل را پیدا کرده اید. 

 

رفع سایر موارد

 اگر موارد بالا خطا را رفع نکردند، باید نسخۀ جدیدی از وردپرس را مجددا نصب کنید. این کار عمدتا بعید به نظر می رسد، اما همیشه امکان خراب شدن یک فایل هسته ای وجود دارد.همچنین می توانید از تابع اشکالزدایی وردپرس استفاده کنید تا ببینید کدام نوع خطاها در خروجی نشان داده می شوند. کد زیر را در فایل wp-config.php خود اضافه کنید. 

error_reporting(E_ALL); ini_set('display_errors', 1);
 
define( 'WP_DEBUG', true);

با افزودن کد صفحه خالی، خطاها، هشدارها و اعلان ها را شامل می شود. این کار ممکن است به شما در تعیین ریشۀ علت کمک کند.ممکن است گاهی اوقات به Backend دسترسی داشته باشید، اما front-end سایت دارای صفحه سفید مرگ باشد. این امر به دلیل افزونه کش کردن (caching plugin) رخ دهد. برای رفع آن تنها کافی است کش خود را خالی کنید.اگر صفحه سفید مرگ تنها در صفحه با پست بسیار طولانی است، باید پاک کردن کش را نیز امتحان کنید. می توانید کد زیر را در فایل wp-config.php خود وارد کنید، البته در برخی از سرورها لازم است که فایل PHP.INI را تغییر دهید.

/** Trick for long posts */
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);

امیدواریم ترفندهای بالا به شما در رفع مشکل کمک کرده باشند. برای چه چیزی تلاش کردید؟ اگر راه حل دیگری برای این خطا پیدا نمودید، آن را با ما در میان بگذارید.  

گروه تحقیقات سافت اسکیل
گروه تحقیقات سافت اسکیل

گروه تحقیقات سافت اسکیل به منظور افزایش سطح دانش جامعه، سعی در ترجمه، تالیف و تولید محتوای با کیفیت در زمینه های مختلف نرم افزاری دارد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

سوال شما با موفقیت ثبت شد. برای اینکه بتوانیم به شما اطلاع رسانی کنیم، موارد زیر را وارد کنید:

لطفا چند لحظه منتظر بمانید ...