یکی از بدترین حالتهایی که برای سایتهایی که با وردپرس طراحی شده اند پیش می آید حالت صفحه سفید مرگ وردپرس است که در آن کاربر با یک صفحه کاملا سفید بدون هیچ نوع محتوایی مواجه می شود. صفحه سفید مرگ وردپرس یا در اصطلاح wordpress whitescreen of Deathh یا به اختصار wsod ، یکی از رایج ترین خطاهای سایتهای وردپرسی است که در ادامه مقالات ما در حوزه آموزش وردپرس به آن میپردازیم.
در این مقاله به دو موضوع زیر خواهیم پرداخت:
- WordPress White of Death چیست؟
- چگونه مشکل WordPress White of Death را رفع کنیم؟
صفحه سفید مرگ وردپرس چیست؟
WordPress White of Death زمانی رخ میدهد که کاربر با یک صفحه کاملا سفید مواجه میشود. وقتی کاربر با این مشکل روبه رو میشود در مرورگرها مختلف با پیامهای متفاوتی مواجه میشود مثلا در شکل زیر در مرورگر گوگل کروم خطای HTTP 500 به کاربر نمایش داده میشود.
و تصویر زیر در هنگام WordPress White of Death در مرورگر فایرفاکس موزیلا به کاربر نمایش داده میشود که فقط شامل یک صفحه کاملا سفید است و چیزی به کاربر نمایش داده نمیشود. WSoD معمولا به علت خطاهای کد php ، محدودیت حافظه ، وجود یک افزونه معیوب و یا قالب معیوب به وجود می آید. مشکل WSoD به هر علتی که ایجاد شده باشد به سادگی قابل حل است ما در این مقاله 9 راه آسان برای حل این مشکل را به شما معرفی میکنیم.
چگونه مشکل صفحه سفید مرگ وردپرس را رفع کنیم؟
ما در این مقاله برای حل مشکل WordPress White of Death به شما 9 راه حل را بیان میکنیم تا بتوانید در سریعترین زمان ممکن این چالش را حل کنید.
این 9 راه حل شامل موارد زیر است:
- افزونه های وردپرس خود را غیرفعال کنید
- یکی از قالب پیش فرض وردپرس را به عنوان قالب سایت قرار دهید
- کش مرورگر و افزونه وردپرس را پاک کنید
- حالت Debugging را فعال کنید
- محدودیت حافظه خود را افزایش دهید
- تنظیمات مربوط به مجوز دسترسی فایل را بررسی کنید
- مشکلات بهروزرسانی خودکار ناموفق وردپرس را بررسی کنید
- رفع خطاهای نحوی در قطعه کدها یا بازیابی نسخه پشتیبان آن
- قابلیت پردازش متن PHP را افزایش دهید
در ادامه این محتوا هر یک از روش های بالا برای حل مشکل WordPress White of Death را به صورت مجزا توضیح میدهیم.
-
افزونه های وردپرس خود را غیرفعال کنید
یکی از دلایلی احتمالی برای صفحه سفید مرگ وردپرس وجود یک یا چند افزونه معیوب است اگر همچنان به بخش پنل مدیریت وردپرس دسترسی دارید همه افزونه ها را غیرفعال کنید برای این کار کافیست مطابق شکل زیر از بخش افزونه ها ، همه آنها را انتخاب کرده و غیرفعال کنید.
پس از غیرفعال کردن افزونه ها ، اگر مشکل WordPress White of Death حل شد میتوان نتیجه گرفت که مشکل از یکی از افزونه هاست. برای شناسایی افزونه معیوب باید تک تک افزونه ها را فعال کرد و دوباره سایت را بارگذاری کرد اگر با فعال شدن یک افزونه سایت دوباره دچار مشکل شد آن افزونه برای سایت مشکل ساز است و باید برای رفع آن اقدام کرد. برای رفع مشکل افزونه میتوان از توسعه دهنده افزونه یا بخش پشتیبانی سایت مخصوص به آن افزونه کمک گرفت. اگر امکان دسترسی به پنل مدیریت سایت نیست میتوان از FTP استفاده کرد و مطابق شکل زیر در پوشه wp-content نام فایل plugins را تغییر داد
با تغییر نام پوشه plugins ، کامپایلر دیگر نمیتواند پوشه پلاگین ها را شناسایی کند و عملا تمام افزونه ها غیرفعال میشود.
-
یکی از قالب پیش فرض وردپرس را به عنوان قالب سایت قرار دهید
اگر بررسی افزونه ها مطابق مرحله قبل مشکل WSoD حل نشد این احتمال وجود دارد که مشکل از قالب فعال سایت باشد پس قالب وردپرس را به یکی از قالب های پیشفرض تغییر دهید.
برای تغییر قالب در پنل مدیریت وردپرس مطابق شکل از مسیر زیر اقدام کنید:
Appearance > Themes
اگر به پنل مدیریت وردپرس دسترسی ندارید با استفاده از FTP مطابق شکل زیر از مسیر content/themes نام پوشه themes را تغییر دهید.
با تغییر نام پوشه theme یک قالب پیشفرض جایگزین قالب فعلی سایت میشود. اگر با تغییر قالب مشکل WordPress White Screen of Death حل شد پس مشکل در قالب سایت است و باید آن قالب را اصلاح کنید یا یک قالب دیگر را جایگزین آن کنید.
-
کش مرورگر و افزونه وردپرس را پاک کنید
اگر با بررسی دو مرحله قبلی مشخص شد که مشکل صفحه سفید مرگ وردپرس از افزونه ها یا قالب سایت نیست احتمال دارد که مشکل از کش مرورگر یا یکی از افزونه های کش وردپرس باشد پس برای بررسی این حالت کش آنها را پاک کنید.
اگر از یکی از افزونه های کش وردپرس مثل WP Super Cache استفاده میکنید به راحتی مطابق شکل زیر و از مسیر زیر میتوان کش آن را پاک کرد.
Settings > WP Super Cache > Delete Cache
پس از خالی کردن کش با رفرش صفحه سایت ، بررسی کنید که آیا مشکل حل شده است.
-
حالت Debugging وردپرس را فعال کنید
اگر با بررسی سه مرحله قبلی همچنان مشکل WSoD حل نشده بود میتوان از گزینه دیباگ وردپرس استفاده کرد. برای فعال کردن دیباگ وردپرس باید در پوشه wp-config.php در بین فایلهای وردپرس ، خط زیر را پیدا کنید و آن را به حالت true تغییر دهید.
define(‘WP_DEBUG’, false );
اگر این خط وجود نداشت میتوان آن را به ابتدای این فایل اضافه کرد.
با فعال کردن حالت دیباگ ، با رفرش صفحه سایت به جای نمایش یک صفحه سفید خالی ، یک صفحه و چند پیام خطا که بیانگر خطاهای موجود در سایت است مطابق شکل زیر به کاربر نمایش داده میشود:
Cannot redeclare get_posts() (previously declared in
/var/www/html/wordpress/wp-includes/post.php:1874) in
/var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38
همانطور که در شکل بالا مشخص است در این مثال مشکل از افزونه my-test-plugin است که با اصلاح و یا غیرفعال کردن آن احتمالا مشکل WSoD حل میشود. اگر بعد از فعال کردن حالت دیباگ ، خطایی نمایش داده نشد ممکن است مشکل از میزبان وب باشد و حالت دیباگ به درستی در سرور پیکربندی نشده باشد که در این حالت باید از بخش پشتیبانی شرکت میزبانی وب کمک گرفت. بعد از اتمام این مرحله حتما حالت دیباگ را غیرفعال کنید زیرا با فعال بودن آن ممکن است برخی اطلاعات سایت در اختیار دیگران قرار بگیرد و این از لحاظ امنیتی مشکل ساز است.
-
محدودیت حافظه خود را افزایش دهید
اگر با اجرای چهار مرحله قبلی مشکل صفحه سفید مرگ وردپرس حل نشده بود احتمال دارد مشکل از کمبود میزان حافظه باشد پس میزان حافظه خود را افزایش دهید.
برای افزایش حافظه میتوان از روشهای زیر عمل کرد:
- قرار دادن کد زیر در فایل wp-config.php:
define(‘WP_MEMORY_LIMIT’, ’64M’);
- قرار دادن کد زیر در فایل htaccess:
php_value memory_limit 64M
- دسترسی به فایل ini از طریق FTP و قرار دادن کد زیر در آن :
memory_limit = 64M
اگر با تخصیص میزان مناسبی از حافظه ، باز هم مشکل کمبود حافظه وجود داشته باشد احتمال دارد مشکل از قالب یا یکی از افزونه ها باشد که حجم زیادی از حافظه را اشغال میکند که برای حل این مشکل میتوانید یک از یک برنامه نویس خبره کمک بگیرید.
-
مجوزهای دسترسی به فایلها را بررسی کنید
یکی از دلایل احتمالی مشکل WordPress White of Death میتواند مشکل مجوزهای دسترسی به فایلها باشد. اگر دسترسی SSH به سرور دارید دستورات زیر را در مسیر روت وردپرس خود اعمال و سپس اجرا کنید:
sudo find . -type f -exec chmod 664 {} +sudo find . -type d -exec chmod 775 {} +sudo chmod 660 wp-config.php
اگر این مرحله کمی برایتان گیج کننده است میتوانید از از یک برنامه نویس خبره و یا بخش پشتیبانی شرکت هاستینگ خود کمک بگیرید.
-
مشکلات به روز رسانی خودکار ناموفق وردپرس را بررسی کنید
یکی از دلایل احتمالی WSoD میتواند مشکل بروزرسانی معیوب وردپرس باشد برای بررسی این مشکل بررسی کنید که اگر فایل maintenance. یا مخفف آن در بین فایلها وجود دارد آن را حذف کنید و سایت را رفرش کنید. اگر بازهم بروزرسانی مشکل داشت می توانید وردپرس را به صورت دستی آپدیت کنید تا مشکل حل شود.
-
رفع خطاهای نحوی در قطعه کدها یا بازیابی نسخه پشتیبان آن
یکی از مواردی که میتواند باعث مشکل صفحه سفید مرگ وردپرس شود این است که در ویرایش کد یکی از فایلهای وردپرس بخشی را اشتباه تایپ کنید. در کل توصیه میشود که به هیچ وجه به صورت دستی کدهای وردپرس را ویرایش نکنید تا به مشکل نخورید ولی در صورت بروز این مشکل میتوان از طریق FTP تغییرات را به حالت پیشفرض برگرداند. اگر همانطور که در مرحله چهارم این مقاله گقته شد حالت دیباگ را فعال کرده باشید پیام خطا میتواند محل دقیق کد معیوب را مشخص کند.
-
قابلیت پردازش متن PHP را افزایش دهید
یکی از مواردی که باعث ایجاد WSoD میشود میتواند طولانی بودن صفحه یا پست باشد در این حالت برای حل مشکل کد زیر را به فایل wp-config.php اضافه کنید:
ini_set(‘pcre.recursion_limit’,20000000);ini_set(‘pcre.backtrack_limit’,10000000);
خلاصه
ما در این مقاله به معرفی مشکل صفحه سفید مرگ وردپرس که یکی از رایج ترین مشکلات در سایت های وردپرسی است پرداختیم و علل این مشکل و راه های حل آن را به شما معرفی کردیم. با اجرای 3 مرحله اول به احتمال زیاد مشکل WordPress White Screen of Death حل میشود و نیازی به بررسی سایر مراحل نیست ولی ما برای تکمیل موضوع محتوا آنها را بیان کردیم. امیدواریم که این محتوا برای شما مفید بوده باشد در پایان اگر هر نوع انتقاد یا پیشنهادی در مورد این مقاله دارید خوشحال میشویم آن را از طریق کانالهای ارتباطی با ما در میان بگذارید.
منبع : wpbeginner.com
علی
سایت من بعضی مواقع باهاش کار می کنم خوبه یه وقت دیگه سایت بالا نمیاد هیچ قسمتیش . هیچ کدوم از بخش های سایت. ولی در همان موقع برای یه نفر دیگه سایت راحت باز میشه و مشکلی نداره.
مشکلش چیه؟ داغون شدم.
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
یا مرورگر شما کش میشه یا اینکه شبکه اینترنت مشکل داره.
farhad
مشکل صفحه سفید ساین من از php هست روی php5.5 خوب جواب میده ولی رو php7.0 بالا نمیاد مشکل از چیه چطور درست کنم این مکشلو؟ ممنون میشم سریع جواب بدین نظارت قبلی منو که جواب ندادین 🙁
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
دوست عزیز سروری که استفاده میکنید از پی اچ پی بالاتر پشتیبانی نمیکنه. میتونید با هاستینگ مربوطه مکاتبه کنید.
amirhnp815 9 سال عضو همیار وردپرس
سلام دوستان
مشکل عجیبی رو بهش برخوردم امروز.
سایت بالا نمیاد، ورود به وردپرس امکان پذیر نیست و جالب تر میگه ایمیل شما برای وردذی اکانت وردپرس وجود ندارد!
یعنی مشکل کجا میتونه باشه؟ دسترسی به سی پنل هاستم هست و اطلاعات به نظر میرسه سر جاش باشه
Baran22
سلام .. مرسی از مطلب خوبتون
اما ارور صفحه سفید من به علت دیگه ای بود
من اول تمام راه هایی رو که گفتید رو امتحان کردم اما بعد متوجه شدم پسورد دیتابیسم عوض شده
تو ترمینال دسترسی به دیتابیس رو با کاربر روت و بدون پسورد قرار دادم درست شد
راستی من روی فدورام و وردپرسم لوکال نصبه 🙂
سنای
سلام .
مشکل من با مطالب شما حل شد. خدا خیرتون بده.
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
موفق باشید
محمد رضا
سلام
فرمودید اگه مشکل از خود پوسته باشه باید فضاهای خالی function رو پاک کنیم.
ولی فایل من فضای خالی نداره
حتما مشکل از خود فایل function هست؟
محمد رضا
آقا من پیدا کردم مشکلم رو. گفتم اینجا هم بگم کسی مشکل من رو داشت، حل شه.
متن ارور من توی فایل error_log این بود:
Cannot modify header information – headers already sent by (output started at /home/wp-content/themes/enfold/functions.php:1)
من فایل function پوسته رو تغییرات داده بودم و آپلود کرده بودم ولی انگار حالت encoding بهم ریخته بوده.
لذا با نرم افزار nodpad++ فایل مورد نظر رو باز کردم و از منوی encoding(به فارسی=رمزگذاری) گزینه convert to uft8 without BOM یا convert to uft8 رو انتخاب و آپلود کردم. مشکل الحمدلله حل شد.
وحید
سلام
افزونه فرم تماس با ما یک تداخل ایمیلی پیش اومد یعنی اشتباهی در قرار دادن ایمیل های فرستنده گیرنده کردم و مثل هم شدن
و الان
من هر فعالیتی رو که ذخیره میکنم صفحه سفید میشه
اون تغییر انجام هم میشه ولی بارگزاری نمیشه صفحه سفید میشه
باید چیکار کنم؟
با تشکر
وحید
دیگه نمیتونم وارد صفحه ادمین بشم اونم سفیده
از افزونه ها که نبود مشکل
محمدی
سلام مشکل من اینه که سایتم با صفحه سفید مواجه و وقتی در وردپرس لاگین هستم صفحات سایت رو در پیش نمایش میبینم راههای بالا رو تست کردم مشکل از قالب بود با تغییر قالب مشکل حل می شد از قالب be استفاده میکنم نمیخام قالب رو عوض کنم. با فعال کردن حالت debug ارور زیر رو دارم لطفا کمک کنید با تشکر
Warning: define(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ‘UTC’ for now, but please set date.timezone to select your timezone. in /home/zticoir/public_html/wp-config.php on line 83
سید علیرضا
سلام،ببخشید وقتی کاربران توی سایت خرید میکنن و بعد از پرداخت وجه میخوان به سایت برگردند،خطای صفحه سفید رخ میده،علتش چی میتونه باشه؟
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
درگاه پرداختتون چیه؟ احتمالا مشکل در برقراری هست
سید علیرضا
با همه درگاه ها همینطوری رفتار میکنه
ملت ،زرین پال و سامان
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
پس باید صفحه ای که مربوط به پایان فرآیند میشه رو بررسی کنید و ببینید لینک موجود به چه صورت عمل میکنه.
رضا
سلام مرسی بابت مطالب مفیدتون ولی مشکل من خیلی عجیبه بعضی روزها یک ساعت صفحه سفید میشه ولی خود به خود برطرف میشه از هر که میپرسم راهکارهایی میده ولی هیچکدومشون عملی نبوده مثل الان خرابه
بهاره کوهستانی 11 سال عضو همیار وردپرس
سلام
فکر کنم برای هاستتون باشه دوست عزیز. اطلاع بدید به هاستینگ