کاربران وردپرس و جوملا دست کم یک بار با صفحه ی سفید آزار دهنده ی مواجه شده اند. صفحه سفید یا White Screen of Death یکی از آزار دهنده ترین مشکلاتی است که میتواند برای شما در این CMSها اتفاق بیافتد. گاهی ممکن است تنها در بخش خاصی از سایت، مثلا تنها ناحیه مدیریت چنین مشکلی مشاهده شود و یا اینکه چنین مشکلی تنها در پست خاصی بوجود آید. ولی در اکثر مواقع رفع این مشکل آنقدر ها هم دشوار نیست، در این مقاله عیب یابی مشکل نمایش صفحه سفید در وردپرس و جوملا مورد بررسی قرار خواهد گرفت.
رفع خطای صفحه سفید سیستم های جوملا و وردپرس
عواملی همچون کمبود Memory، فعال سازی افزونه غیر استاندارد، نصب قالب غیر استاندارد، بروز رسانی وردپرس و یا عدم هماهنگی اجزای آن باعث نمایش صفحه سفید در مروگر میباشند. البته اختلال در سرویس میزبانی و یا همان هاست نیز در برخی مواقع در بروز این مشکل دخیل خواهد بود، اگر مشکل را در میزبانی میدانید ابتدا باید آپدیت اتوماتیک وردپرس را غیر فعال نموده سپس با شرکت ارائه دهنده میزبانی سایت خود در تماس باشید.
در خصوص رفع خطا ابتدا یک نسخه ی پشتیبان کامل از سایت خود تهیه کنید. حال جهت رویت متن خطای اصلی که باعث بروز صفحه سفید شده است در فایل wp-config.php کد های زیر بهمراه تگ های PHP را قرار دهید. خط سوم از کدها معمولاً در این فایل موجود است که تنها میبایست مقدار true به false تغییر داده شود، در برخی هاست ها دستور ini_set قابل استفاده نمیباشد پس این خط باید حذف گردد.
;(error_reporting(E_ALL
;(ini_set('display_errors', 1
;(define( 'WP_DEBUG', true
بعد از انجام این عملیات بجای صفحه ی سفید، صفحه ای با گزارش خطای مربوطه نمایش داده خواهد شد. هشدارها معمولاً بشرح زیر میباشد که برای رفع آنها تا حدودی توضیح داده خواهد شد:
. مشکل کمبود Memory: اگر خطایی مشابه متن زیر رویت گردید به این معنا میباشد که وردپرس سایت به فضای Memory اضافه نیاز دارد.
Fatal error: Allowed memory size of XXX bytes
جهت رفع این خطا ابتدا در فایل wp-config.php کد زیر اضافه شود.
;(define('WP_MEMORY_LIMIT', '64M'
یا از طریق فایل php.ini میزان Memory اختصاص داده شده به میزبانی افزایش داده شود.
. اختلال افزونه نصب شده: اگر آدرس افزونه ای در متن خطا رویت میگردد، میبایست با مراجعه به روت اصلی هاست در پوشه wp-content/plugins افزونه ی مورد نظر تغییر نام یا حذف گردد. لازم بذکر است امکان غیر فعال نمودن افزونه از طریق پنل مدیریت وردپرس نیز وجود دارد.
. قالب مشکل ساز: درصورتی که مراحل قبلی باعث رفع اختلال نشده باشند گزینه بعدی را میتوان قالب غیر استاندارد نصب شده برروی وردپرس درنظر گرفت. جهت رفع این مورد از پوشه پوسته بک آپ تهیه شود و قالب تغییر نام و یا حذف گرد، دراین حالت وردپرس به قالب اصلی خود بازگردانده خواهد شد. روش دیگر غیر فعال شدن قالب از طریق دیتابیس میباشد، که ابتدا وارد دیتابیس شده سپس در جدول wp-options مقادیر template و stylesheet و and current_theme به نام یکی از قالب های اصلی وردپرس تغییر داده شود.
. متن های طولانی: نوشته های طولانی سایت نیز امکان دارد باعث بروز خطای صفحه سفید شوند، در این حالت جهت رفع اختلال کد زیر را به فایل wp-config.php اضافه کنید:
;(ini_set('pcre.recursion_limit',20000000
;(ini_set('pcre.backtrack_limit',10000000
اگر این ترفند پاسخ ندهد میتوانید کدها را حذف و مورد را برنامه نویس یا طراح حرفه ای وردپرس در میان بگذارید.
برخی اوقات ممکن است به علت تغییر برخی کدها در سایت یا حتی نصب یک افزونه پس از رفرش کردن صفحه اصلی سایت جوملایی به یک صفحه سفید تبدیل شود.
حال راهکارهایی که میتواند در رفع این مشکل کار ساز باشند را بررسی مینماییم :
. تغییر Error reporting به maximum:
وارد محیط مدیریت جوملا شده و در بخش Global Configuration گزینه Error reporting را بر روی Maximum قرار دهید. البته امکان اعمال این تغییر از طریق قرار دادن کد زیر در فایل configuration.php سایت نیز وجود دارد.
;public $error_reporting = 'development'
. فعال سازی صفحه خطا: جهت رویت متن اصلی خطا سایت، کد زیر را پس از خط ابتدایی فایل Index.php قرار دهید:
;(ini_set('display_errors', TRUE); error_reporting(E_ALL
اکنون خطاهایی در صفحه نخست سایت جوملایی مشاهده خواهد شد، در نتیجه متوجه علت ایجاد مشکل در سایت خواهیم شد. حال میتوان از متن خطا نام فایل، قالب یا افزونه مشکل دار را استخراج نمود. البته امکان دارد متن خطا اختلال را در فایل های هسته جوملا اعلام نماید.
. غیر فعال نمودن افزونه مشکل دار:
ساده ترین راه این است که وارد فایل منیجر از طریق کنترل پنل یا FTP سایت شده، در صورتی که به طور مثال مشکل از یک کامپوننت است وارد پوشه components و سپس نام پوشه همنام با آن کامپوننت ویرایش و یک پسوند مثل _disabled به آن اضافه کرد. در این مواقع ممکن است نیاز باشد که نام فولدر افزونه مورد نظر در بخش مدیریت سایت جوملایی یعنی داخل پوشه administrator به همین ترتیب ویرایش و تغییر داده شود.
. وجود مشکل در فایلهای هسته جوملا:
اگر هیچ افزونه ای نصب نشده و متن خطا مشکل را مربوط به فایل های هسته جوملا اعلام مینماید، میبایست فایل های مربوطه را از نسخه اصلی جوملا استخراج و با اطلاعات سایت (بغیر از فایل configuration.php) جایگزین و یا همان rewrite گردند.