اشکالات برنامه خود را در ناامیدی حل می کنید؟ آیا خطاهای مزاحمی که پی در پی پدیدار می شوند، عدم دوست داشتن وردپرس می شود؟
وردپرس یک پلت فرم فوق العاده به عنوان وبلاگ نویسی و سیستم مدیریت محتوا یا CMS است، اما هیچ نرم افزاری بدون عیب نیست. این مقاله مروری می کند به 3 تا از اشتباهات رایج در وردپرس، راه حل هایی مفید در رابطه با صفحه سفید مرگ، خطا در سرور داخلی (Internal Server Error)، خطا در ایجاد اتصال به پایگاه داده (Error Establishing Database Connection) ارائه می دهد.
نکاتی در این مقاله وجود دارد که می تواند در خطا های دیگر را نیز حل کند، بنابراین حتی اگر وب سایت شما مشکل خاصی نداشته باشد، شما ممکن است چیزی مفید یاد بگیرید که در آینده بدرد بخورد.

1) صفحه سفید مرگ

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

  • حافظه ی از پا درآمده
  • یک پلاگین
  • یک قالب

اگر سایت دیگری بر روی همان هاست خود دارید و باز هم صفحه سفید می بینید، بنابراین با خیال راحت می توانید این فرض را کنید که مشکل از ارائه دهنده سرویس میزبانی شماست. ولی اگر اینطور نیست باید مطمئن شوید که مشکل از وب سایت شماست.

حافظه ی از پا درآمده

رسیدن به محدودیت حافظه! اغلب مشکل پشت این خطا است. برای افزایش حافظه خود، به ریشه ی وردپرس خود رفته و فایل wp-config.php را با استفاده از یک FTP client یا یک مدیریت فایل در پنل هاست باز کنید. در داخل تگ اصلی PHP شما احتیاج دارید که خط کد اضافه کنید، که میزان حافظه شما را به 64M افزایش می دهد:
define('WP_MEMORY_LIMIT', '64M');
1
define('WP_MEMORY_LIMIT', '64M');


این امکان وجود دارد که بالاتر از 64M تنظیم کنیم، ولی این به سرور شما بستگی دارد، به طور کلی 64M یک مقدار امن است. شاید افزایش حافظه کمکی نکند، یا اصلا شاید شما از مقداری بالاتر از 64M استفاده می کنید؟ می توانید این مقدار را برای پلاگین یا قالب پایین بیاورید.

پلاگین ها

اگر شما به داشبورد خود دسترسی ندارید، بنابراین یک را برای تست پلاگین ها وجود دارد که آن از طریق FTP است. اگر شما یک FTP client دارید، پس به سادگی می توانید به دایرکتوری مربوطه مراجعه کنید. wp-content/plugins را باز کنید، که شامل تمام افزونه های نصب شده شما است. براحتی نام پوشه ی plugins را کمی تغییر دهید، شاید بهتر باشد که کلمه ای را در آخر نام plugins اضافه کنیم مثل، plugins-test
متناوبا می توانید همین روش را برای تغییر نام تک تک نام افزونه های استفاده کنید، که این کار باعث می شود هر افزونه بطور جداگانه تست شود – توجه کنید نام همه ی پلاگین ها را به یکباره تغییر ندهید، تا اگر مشکل از پلاگین بود بدانید که کدام پلاگین باعث این هرج و مرج شده است. اگر زمان کافی دارید می توانید پلاگین ها را مجددا نصب کنید، و نام پوشه ی plugins را به حالت اول برگردانید.
اگر پلاگینی که باعث این مشکل بود را پیدا کردید، می تواند یکی از دلایل این مشکل باشد. بهترین روش این است که به سادگی این پلاگین را حذف کرده و یک پلاگین جایگزین که شبیه به آن پلاگین عمل می کند را نصب کنید. سعی کنید پلاگینی را پیدا کنید کنید به روز شده باشد تا مشکلی پیش نیاید.
پس از اتمام این مقاله می توانید پست رفع مشکل صفحه سفید مرگ، در وردپرس را مطالعه کنید شاید آن پست هم کمک به شما کند.


قالب ها

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

فعال کردن اشکال زدایی PHP

اگر مشکل حل نشده، پس ناچار هسیتم به عمق زیادی را حفاری کنیم تا عمیق تر بروریم. فرایند زیر کمک خواهد کرد مشکل را شناسایی کنیم. با این حال، اگر مشکل را هم شناسایی کردید، لازم است برخی از مهارت های پیشرفته تر را داشته باشید.
ابتدا، فایل wp-config.php را باز کرده، و کد ریر را پیدا کنید:
define('WP_DEBUG', false);
1
define('WP_DEBUG', false);


در ابتدای آن علامت // قرار دهید تا مانع از اجرای این خط شود، به صورت زیر:
//define('WP_DEBUG', false);
1
//define('WP_DEBUG', false);


حال که کد بالا را غیر فعال کردید، قدم بعدی قرار دادن کد زیر درست بعد از خط بالا است:
define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); @ini_set('display_errors',0);
1
2
3
4
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);


حالا اینجاست که به کمی تجربه کد نویسی نیاز دارید. مراحل قبل فقط گزارشی از خطاها را به فایل error.log ارسال می کند که می توانید این فایل را در پوشه wp-content پیدا کنید. اگر مشکل در پیدا کردن این فایل دارید به احتمال زیاد اجازه ساخت این فایل را ندارید. به سادگی می توانید یک فایل جدید به نام error.log ایجاد کنید و به آم اجازه یا permission 666 دهید.
فایل را در ویرایشگر خود اجرا کرده و خطاها PHP را بررسی کنید. اگر این چیزی است که کمی درکش باری شما دشوار است یا با این کار راحت نیستید، پس بهتر است که دنبال کسی باشید که به شما کمک کند.

2) خطای داخلی سرور

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

پلاگین یا تم

به قسمت پلاگین و تم در بخش قبلی مراجعه کنید. روش عیب یابی دقیقا همانند قبل است.

حافظه ی از پا درآمده

دوباره، این روند همانند بخش قبلی است.

htaccess. بد

مشکل از هیچ کدام از پلاگین ها یا قالی ها نبود؟ پس زمان بررسی کردن فایل htaccess. است که ببینیم آیا مشکلی در آن وجود دارد یا نه؟
در ابتدا نام فایل را تغییر دهید – همانند قبل به نام temp تغییر دهید یا چیزی شبیه به این را به انتهای فایل اضافه کنید. فایل را پیدا نمی کنید؟ باید مطمئن شوید که فایل های مخفی سیستم را می توانید مشاهده کنید. چگونه می توانیم این کار را در یک FTP client انجام داد، به سادگی! به عنوان مثال در Filezilla، به سادگی می توانید Server را از قسمت بالا انتخاب و گزینه Show hidden files یا گزینه Force showing hidden files را انتخاب کنید.
حال به مرحله بعد برویم، ابتدا به قسمت Admin وردپرس خود رفته، و از منوی تنظیمات (Settings) گزینه ی پیوندهای یکتا (Permalinks) را انتخاب کنید. شما اکنون یک نسخه جدید از این فایل را تولید کردید، حال می توانید بررسی کنید که آیا مشکل حل شده است یا نه.

فعال کردن اشکال زدایی PHP

درباره این ویژگی در بخش قبل بحث کردیم، پس می توانید کمی نوار پیمایش را بالا ببرید تا مطالعه کنید.

3) خطا در ایجاد اتصال به پایگاه داده (Error establishing database connection)

می تواند به چند دلیل باعث رخ دادن این مشکل باشد. این یک خطایی است که معمولا در سرور دیده می شود، اما ممکن است که شما به سادگی مشخصات دیتابیس خود را تغییر داده باشید.
این مهم است که این خطا را جلو و عقب سایت خود مشاهده کنید. اگر شما همان خطا Error establishing a database connection را در بخش wp-admin وب سایت خود مشاهده می کنید، بنابراین می توانید به مرحله بعدی پرش کنید.
با این حال، اگر خطای متفاوتی را مشاهده کردید، پس نیاز دارید که دیتابیس را تعمیر کنید، پس کد زیر را وارد فایل wp-config.php کنید:
define('WP_ALLOW_REPAIR', true);
1
define('WP_ALLOW_REPAIR', true);


آنگاه آدرس http://www.examplesite.com/wp-admin/maint/repair.php را در مرورگر مشاهده کنید.
حال گزینه ای را مشاهده می کنید که می توانید با آن پایگاه داده را تعمیر کنید، وقتی دیتابیس را تعمیر کردید، در آخر مطمئن شوید که کد بالا را از فایل wp-config.php پاک کرده باشید.

فایل WP-Config

آیا رمز root یا دیتابیس را تغییر داده اید؟ اگر اینطور است، پس باید این تغییرات را در فایل wp-config.php هم اعمال کنید، پس به فایل wp-config رفته و مطمئن شوید که تمام اطلاعات صحیح است.

define('DB_NAME', 'database-name'); define('DB_USER', 'database-username'); define('DB_PASSWORD', 'database-password'); define('DB_HOST', 'localhost');
1
2
3
4
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');


این مهم است که مقدار DB_HOST را بررسی کنید، به طوری که خط آخر به احتمال 99 درصد صحیح است و اکثر موارد مقدارش می تواند localhost باشد