خطای صفحه سفید در وردپرس و راهحل
صفحه سفید در وردپرس ((WordPress White Screen of Death (WSoD) به حالتی گفته میشود که کاربر روی یکی از لینکهای سایت شما کلیک کند و به جز یک صفحه سفید چیزی نمایش داده نشود. خطای صفحه سفید یکی از مشهورترین خطاهای وردپرس است. بیشتر کاربران حداقل یک بار با خطای صفحه سفید مرگ روبرو شدهاند. این خطا میتواند ناشی از مشکلات بسیار زیادی باشد. این مشکل میتواند در بخشی از سایت شما یا کل آن و حتی داشبورد مدیریت نیز رخ دهد. جای نگرانی ندارد! چنانچه دلایل بروز خطا را بدانید بسیار راحت میتوانید با آن کنار بیایید و آن را حل کنید.
![خطای صفحه سفید در وردپرس و راهحل](http://citywebmaster.ir/wp-content/uploads/2019/12/%D8%AE%D8%B7%D8%A7%DB%8C-%D8%B5%D9%81%D8%AD%D9%87-%D8%B3%D9%81%DB%8C%D8%AF-%D8%AF%D8%B1-%D9%88%D8%B1%D8%AF%D9%BE%D8%B1%D8%B3-%D9%88-%D8%B1%D8%A7%D9%87%E2%80%8C%D8%AD%D9%84-626x405.png)
خطای صفحه سفید در وردپرس و راهحل
صفحه سفید در وردپرس
معمولا این خطا جزء مواردی است که افراد را دچار رعب و وحشت میکند، تا جایی که برخی بدون اطلاع دست به حذف سایت خود زده و مجدد آن را نصب میکنند. این یعنی از بین بردن تمام زحمتی که برای سایتشان کشیدهاند. اگر شما جزء این دسته هستید لطفا این کار را نکنید. کمی صبر کنید تا اول به شما دلایل به وجود آمدن این خطا را بگوییم و سپس به رفع این مشکل بپردازیم.
بررسی افزونههای نصب شده
آخرین کاری که قبل از رخ دادن صفحه سفید مرگ انجام دادهاید چیست؟ احتمال زیادی وجود دارد که به تازگی، افزونهای را فعال کرده باشید، تغییر یا بروزرسانی کردهاید. افزونهها متداولترین دلیل بروز این مشکل هستند، بنابراین اگر اخیرا در یک افزونه تغییر ایجاد کردهاید، اولین اقدام شما باید غیرفعال کردن آن باشد. اگر سایت خود را بارگیری مجدد کنید، همه چیز به حالت اول برمیگردد. شما در ابتدا باید افزونه مشکلدار را پیدا کنید، سپس با برنامهنویس افزونه خود تماس بگیرید یا تیکت بگذارید تا به شما در حل آن کمک کند.
با این حال، همیشه یافتن مشکل به این آسانی نیست. اگر اخیرا افزونه جدیدی اضافه نکردهاید، هنوز هم احتمال زیادی وجود دارید که یکی از افزونههای موجود در سایت شما سبب ایجاد مشکل در پشت صحنه شده باشد. پس چگونه میتوانید آن را تشخیص دهید و بفهمید که کدام افزونه مقصر است؟ سادهترین راهحل غیرفعال کردن همه افزونههای سایت است. به این ترتیب، اگر مشکل از افزونهها نباشد، به محض بارگیری مجدد سایت خود خواهید فهمید. سپس میتوانید دوباره آنها را فعال کرده و به مرحله بعدی روند عیب یابی بروید.
میتوانید با رفتن به صفحه افزونهها در داشبورد وردپرس خود و استفاده از گزینه غیرفعال در منوی کشویی موجود، تمام افزونههای خود را به صورت همزمان غیرفعال کنید.
![diactive all plugins- صفحه سفید مرگ](http://citywebmaster.ir/wp-content/uploads/images/2019/12/nghmvhny.jpg)
اگر نمیتوانید به رابط Admin خود دسترسی داشته باشید، میتوانید این کار را از طریق یک سرویس دهنده file manager میزبان وب خود انجام دهید. تمام کاری که باید انجام دهید این است که با استفاده از فایل منیجر و وارد کردن اطلاعات کاربری به سایت وصل شوید و سپس به پوشه wp_content / plugins بروید.
![wp content change- تغییر نام پوشه مربوطه](http://citywebmaster.ir/wp-content/uploads/images/2019/12/znjzrbiv.jpg)
اگر نام این پوشه را به هر چیز دیگری، مانند plugins_test تغییر دهید، به طور خودکار تمام افزونهها را غیرفعال خواهید کرد (زیرا وردپرس قادر به یافتن آنها نخواهد بود). هنگامی که میخواهید آنها را دوباره فعال کنید، کافی است نام پوشه را به حالت اولیه برگردانید.
اگر پس از غیرفعال کردن افزونههای خود، سایت شما دوباره شروع به کار کرد، میتوانید مطمئن باشید که یکی از آنها ایجاد مشکل کرده است. کاری که اکنون باید انجام دهید این است که آنها را دوباره یکی یکی فعال نمایید و سایت خود را آزمایش کنید. به این ترتیب، به راحتی میتوانید تشخیص دهید کدام افزونه به درستی کار نمیکند، زیرا بلافاصله پس از فعال شدن، سایت شما دچار مشکل میشود. پس از انجام این کار، میتوانید دوباره افزونه معیوب را غیرفعال کنید و برای پشتیبانی با توسعه دهنده آن تماس بگیرید.
اگر از روش گفته شده برای انجام عیبیابی سایت خود استفاده میکنید، میتوانید با ایجاد یک پوشه جدید و نامگذاری آن به plugins، این کار را انجام دهید. با انجام این کار، این پوشه به plugin دایرکتوری سایت شما تبدیل میشود. تنها کاری که اکنون باید انجام دهید این است که افزونهها را از plugins_test به این پوشه منتقل کنید تا مجددا فعال شود. هر یک از افزونهها را یکی یکی به این پوشه منتقل کنید، سپس سایت خود را آزمایش کنید تا ببینید که آیا به درستی کار میکند و این روند را تکرار کنید تا زمانی که افزونه معیوب را پیدا کنید. فقط به یاد داشته باشید که وقتی کارتان تمام شد باید تمام افزونههای سالم را به پوشه plugins منتقل کنید.
بررسی قالب نصب شده
قالبها هم میتوانند مانند افزونهها حاوی کد منسوخ یا نادرست باشند. برخی از قالبها ممکن است به صورت نامناسب کدنویسی شده باشند یا باعث تداخل در عملکرد یک یا چند افزونه شما شوند. همچنین ممکن است نصب یا بروزرسانی یک قالب ناقص، ایجاد مشکل کند. در پایان، اگر در فایل theme’s functions.php تغییراتی ایجاد کرده باشید، میتواند منجر به ایجاد خطای صفحه سفید در وردپرس شود.
خوشبختانه، بررسی اینکه آیا قالب باعث بروز مشکل صفحه سفید مرگ شده است، ساده است. تمام کاری که شما باید انجام دهید این است که آن را غیرفعال کنید و به جای آن از یک قالب عمومی استفاده نمایید. اگر به داشبورد ادمین دسترسی دارید، میتوانید با رفتن به Appearance > Themes این کار را انجام دهید و به راحتی، یکی از قالبهای پیشفرض وردپرس را انتخاب و فعال نمایید.
![themes- صفحه سفید در وردپرس](http://citywebmaster.ir/wp-content/uploads/images/2019/12/ne2snqto.jpg)
اگر به داشبورد ادمین دسترسی ندارید، میتوانید این کار را با استفاده از FTP نیز انجام دهید. یک بار دیگر پوشه wp_content / themes را باز کنید و نام پوشه را برای قالب کنونی خود تغییر دهید.
![change theme name](http://citywebmaster.ir/wp-content/uploads/images/2019/12/pajcfnq1.jpg)
این امر باعث میشود وردپرس، قالب شما را غیرفعال کند و به جای آن قالب پیشفرض را به طور خودکار روی سایت شما قرار دهد. اکنون میتوانید سایت خود را بررسی کنید تا ببینید مشکل صفحه سفید از بین رفته است یا خیر.
اگر انجام این کار، مشکل را برطرف کرد، متوجه میشوید که قالب شما علت این خطا بوده است. اگر اخیرا تغییراتی در قالب ایجاد کردهاید، باید سعی کنید آن را حذف کرده و نسخه اصلی را دوباره نصب کنید. اگر این کار، مشکل صفحه سفید در وردپرس را برطرف نکرد، میتوانید به مستندات رسمی قالب خود مراجعه کنید یا برای کمک بیشتر به توسعه دهنده آن مراجعه نمایید.
میزان حافظه خود را بررسی کنید
اگر مشکل صفحه سفید در وردپرس، گاه به گاه یا در قسمتهای خاصی از سایت شما ظاهر میشود، ممکن است به این دلیل باشد که وبسایت شما از حداکثر میزان حافظه خود فراتر رفته است. این موضوع به طور خاص به حافظه PHP مربوط میشود، یعنی میزان حافظه اختصاص داده شده به PHP که وردپرس در آن اجرا شده است. محدودیت حافظه معمولا به طور پیشفرض روی 64 مگابایت تنظیم میشود، اما بعضی اوقات کافی نیست.
برای رفع این مشکل، باید حافظه بیشتری به آن اختصاص دهید. روش دقیق انجام این کار با توجه به تنظیمات و میزبان وب خاص شما میتواند متفاوت باشد، اما اجازه دهید برخی از متداولترین روشهای انجام این کار را شرح دهیم.
برای افزایش حافظه PHP سایت خود، معمولا نیاز به ویرایش یک فایل در سرور خود دارید. برای برخی از میزبانهای وب، مانند DreamHost، نام این فایل php.ini است. اگر این فایل در سایت شما وجود ندارد، میتوانید آن را از طریق (SFTP یا Secure Shell Access (SSH ایجاد کنید. با این حال، اگر از قبل این فایل را دارید، میتوانید همین حالا به آن دسترسی پیدا کرده و ویرایش کنید (همچنین با استفاده از SFTP یا SSH). افزایش میزان php.ini این مشکل را رفع میکند.
شاید قصد داشته باشید محدودیت حافظه را به میزان کمی افزایش دهید و هر بار که این فایل را به روز میکنید، سایت خود را آزمایش کنید. اگر مشکل سایت شما به صورت کامل حل شود و همه قسمتهای آن به درستی کار کند، شما این مشکل را حل کردهاید.
با این وجود، شما فقط میتوانید میزان حافظه خود را تا حد معینی افزایش دهید. شما نمیتوانید از بیشینه مقدار حافظهای که برای سایت شما در نظر گرفته شده است، فراتر بروید، بنابراین در یک نقطه مشخص، به سادگی نمیتوانید به افزایش حافظه خود ادامه دهید. اگر این اتفاق بیفتد و متوجه شوید که افزایش محدودیت حافظه مشکل را برطرف نمیکند، ممکن است بخواهید برنامه فعلی خود را ارتقا دهید. این امکان وجود دارد که میزبانی وب اشتراکی، دیگر برای پشتیبانی از سایت شما کافی نباشد، در این حالت میتوانید به گزینههای بروزرسانی میزبان وب خود مراجعه کنید تا ببینید که میتوانند نیازهای شما را پوشش دهند یا خیر.
از حالت اشکال زدایی وردپرس استفاده کنید
![debuging- دیباگ کردن سایت](http://citywebmaster.ir/wp-content/uploads/images/2019/12/cujw8j6y.png)
اگر تاکنون موفق نشدهاید راهی برای حل مشکل صفحه سفید مرگ پیدا کنید، وقت آن رسیده است که شما را با حالت اشکال زدایی (debug) وردپرس آشنا کنیم، این ابزار در کلیه نسخههای نصب شده وردپرس وجود دارد. در حالت عادی غیرفعال است زیرا منحصرا برای اهداف آزمایش در نظر گرفته شده است، اما شما میتوانید آن را در هر زمان که بخواهید فعال کنید.
با فعال کردن حالت اشکال زدایی، یک سیاهه خطا (error log) از همه مواردی که هنگام بارگذاری سایت شما اتفاق میافتد، ایجاد میشود. حتی میتوانید این اطلاعات را به طور مستقیم در صفحه نمایش دهید. توصیه میکنیم این کار را بر روی نسخه آزمایشی سایت خود انجام دهید، زیرا اطلاعات جمع آوری شده توسط حالت اشکال زدایی میتوانند حساس باشند. به عنوان مثال، میتواند حاوی اطلاعات شخصی باشد، یا یک نقص امنیتی را آشکار سازد.
برای فعال کردن حالت اشکال زدایی، باید فایل wp-config.php سایت خود را ویرایش کنید. این فایل یک بلوک ساختاری بسیار مهم در سایت شما است، زیرا شامل کلیه اطلاعات پایگاه داده شما (از جمله گذرواژهها) است. بنابراین باید قبل از شروع ویرایش به مستندات رسمی آن مراجعه کنید.
وقتی برای شروع اشکال زدایی آماده شدید، از طریق FTP، SSH یا file manager میزبان وب خود به فایل wp-config.php خود دسترسی پیدا کنید. خط زیر را در کد فایل پیدا کنید:
1
|
define( "WP_DEBUG" , false ); |
همانطور که اشاره کردیم، این گزینه به صورت پیش فرض “false” است. تمام کاری که شما باید انجام دهید این است که آن را به صورت زیر تغییر دهید:
1
|
define( "WP_DEBUG" , true ); |
با ذخیره کردن فایل، حالت اشکال زدایی فعال میشود. اما چگونه میتوانید لاگ سیستم را ببینید؟ میتوانید لاگ خطای حاصل از حالت اشکال زدایی را با استفاده از یکی از این دو روش نمایش دهید. اولین کار ایجاد فایل log است که میتوانید با اضافه کردن خط زیر به wp-config.php آن را انجام دهید:
1
|
define( "WP_DEBUG_LOG" , true ); |
با این کار فایلی به نام debug.log در مسیر wp-content/ directory ایجاد میشود. این فایل با استفاده از بیشتر ویرایشگرهای متنی استاندارد مانند TextEdit یا Notepad قابل باز شدن و خواندن است.
همچنین میتوانید پیامهای خطا را مستقیما در صفحه نمایش دهید. برای این کار کد زیر را به wp-config.php اضافه کنید:
1
|
define( "WP_DEBUG_DISPLAY" , true ); |
اکنون میتوانید HTML سایت خود را برای مشاهده لاگ خطا بررسی کنید. دلیل انجام این کار این است که لاگ سیستم میتواند به شما ایدهایی بدهد که ممکن است به شما در پیدا کردن علت بروز مشکل صفحه سفید در وردپرس به شما کمک کند. اگر خوش شانس باشید، لاگ خطا فایلی را که منجر به ایجاد مشکل شده است را برای شما مشخص میکند. به عنوان مثال، ممکن است خطایی مانند خط زیر را ببینید.
Parse error: syntax error, unexpected $end in /home/name/public_html/wordpress/wp-content/themes/your_theme/functions.php on line 231
در این مورد، میبینید که مشکل از فایل function.php و به طور خاص در خط شماره 231 آن است. اکنون میتوانید فایل توابع را باز کنید، خط ذکر شده را بررسی کنید و تحقیق کنید تا ببینید چه چیزی باعث ایجاد خطای نحوی شده است. پس از اینکه مشکل را حل کردید، میتوانید فایل را ذخیره کرده و دوباره سایت خود را بررسی کنید.
اگر پیامهای خطای غیر واضحی دریافت کردید، میتوانید برای یافتن اطلاعات بیشتر، آنها را در گوگل یا موتور جستجوگر دیگری وارد کنید. بسیار نادر است که شما با یک مشکل واقعا منحصر به فرد روبرو شوید، بنابراین احتمالا شخصی قبلا با مسئله خاص شما روبرو شده و آن را حل کرده است. همچنین میتوانید برای راهنمایی به WordPress Codex و فرومهای پشتیبانی مراجعه کنید.
پس از آن که کار شما با حالت اشکال زدایی تمام شد، بسیار مهم است که آن را غیرفعال کنید. میتوانید این کار را با ویرایش یک بار دیگر فایل wp-config.php و تغییر خط WP_DEBUG به false انجام دهید. فعال نگه داشتن آن، میتواند منجر به بروز مشکلات گسترده و مسائل امنیتی شود، بنابراین پس از پایان عیبیابی حتما آن را ببندید.
خطاهای غیر معمول را بررسی کنید
اگر تا اینجا همه این کارها انجام دادهاید و هنوز نتوانستهاید مشکل صفحه سفید در وردپرس خود را حل کنید، با شما همدردی میکنیم، چرا که شما در اقلیت هستید، زیرا روشهایی که ما تاکنون عنوان کردهایم بیشتر خطاها را پوشش میدهد. با این حال، هنوز هم امید وجود دارد.
اکنون میخواهیم به صورت اجمالی، برخی از موارد غیر معمول که میتواند باعث ایجاد مشکل در وردپرس شود را بررسی کنیم. احتمال کمتری برای وقوع آنها وجود دارد، اما نباید از آنها غافل شوید، بنابراین بهتر است در ابتدا همه موارد مهم را قبلا بررسی کرده باشید.
وضعیت سرور خود را بررسی کنید
این امکان وجود دارد که مشکلات سایت شما ناشی از مشکلات سرور میزبان وب شما باشد. ممکن است سرور به طور کامل از کار افتاده باشد، بنابراین سایتهای دیگر را که میدانید در همان سرور میزبانی شدهاند را بررسی کنید. همچنین ممکن است تنها قسمتهای خاصی از سرور به درستی کار نکند، یا برای امور نگهداری موقتا از کار افتاده باشد. یکی از راههایی که میتوانید به کمک آن، این مورد را بررسی کنید بررسی وضعیت سرویس میزبان وب است.
حتی اگر به نظر میرسد سرور شما به خوبی کار میکند و میزبان وب شما مشکلی ندارد، باز هم باید سعی کنید با پشتیبانی آن تماس بگیرید. چرا که ممکن است سایت شما در سرور مشکلاتی را تجربه کند، حتی اگر هیچکس دیگری با همان مشکل روبرو نشده باشد. ممکن است آنها بتوانند به شما کمک کنند.
حافظه پنهان (Cache) خود را بررسی کنید
اجرای راهحلهای حافظه پنهان در وردپرس روشی عالی برای سرعت بخشیدن به سایت شما است. اما به دلیل اینکه نسخههای قدیمی فایلها را ذخیره میکند، این خطر وجود دارد که محتوای قدیمی منسوخ شده باعث ایجاد مشکلاتی شود.
با پاک کردن حافظه پنهان، تمام اطلاعات ذخیره شده غیرضروری از سایت شما پاک خواهد شد. وقتی این کار را انجام دادید، دوباره سایت خود را بررسی کنید تا ببینید که آیا مشکل برطرف شده است یا خیر.
سایت خود را برای فایلهای معیوب جستجو کنید
بسیار کم اتفاق میافتد که فایلهای اصلی وردپرس دچار مشکل شوند، اما امکان بروز آن وجود دارد. به عنوان مثال، هنگام نصب نسخه جدید وردپرس، ممکن است خطایی رخ دهد و باعث خراب شدن یک یا چند فایل شود. چنین مواردی، معمولا در لاگ خطا در حالت اشکال زدایی ثبت میشوند، اما نه همیشه. اگر گمان میکنید مشکلی در فایلهای اصلی سایت شما وجود دارد، میتوانید با میزبانی وب خود تماس بگیرید و از آنها بخواهید تا در تشخیص و رفع مشکل به شما کمک کنند.
اگر هیچ کدام از این روشها، مشکل شما را حل نکرد، چه کاری باید انجام دهید؟
اگر هنوز یک نسخه پشتیبان از سایت خود تهیه نکردهاید، ممکن است دچار مشکل شوید. تهیه نسخه پشتیبان به شما امکان میدهد تا در صورت بروز مشکل، نسخه اولیه سایت خود را به سادگی بازیابی کنید.
اگر هیچگونه نسخه پشتیبانی در دسترس ندارید و ارائه دهنده میزبان وب شما نمیتواند کمک کند، به احتمال زیاد مجبور خواهید بود سایت خود را از ابتدا نصب کنید. این موضوع ایدهآل نیست، اما تنها کاری است که میتواند سایت شما را به زندگی بازگرداند. ولی همانطور که میبینید اولین راهحل نیست و آخرین راه است.
منبع: همیاروردپرس