آموزش وردپرس

خطا های رایج وردپرس

خطا های رایج وردپرس

خطا هاى رايج وردپرس

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

بیاتم در این مقاله، رايج ترين خطاهاى وردپرسی که كاربران وردپرس تجربه مى كنن به همراه راه حل هاشون رو دور هم جمع کرده.

 

 

صفحه سفيد مرگ

هم خطاهاى PHP و هم خطاهاى پايگاه داده مى تونن به صورت يك صفحه سفيد ظاهربشن. يك صفحه خالى بدون اطلاعات كه معمولأ در جامعه وردپرس به عنوان صفحه سفيد مرگ وردپرس ( withe screen of death = WSOD ) شناخته مى شه.

 

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

  • يک پلاگين (افزونه) باعث مشكلات سازگارى مى شه. اگه میتونید به صفحه هاى مديريت دسترسى داشته باشید سعی کنید همه افزونه هاتون رو غيرفعال كنيد و بعد یکی یکی دوباره فعالشون كنيد. اگر نمى تونيد به صفحه نمايشتون دسترسى پيدا كنيد، از طریق FTP وارد وبسايتتون بشید، پوشه wp-content/plugins رو پيدا كنيد و اسم پوشه plagins  را به plagins_old تغیيربدید. با اين كارهمه افزونه هاتون غيرفعال مى شه.
  • ممكنه طرح زمينه شما باعث اين مشكل شده باشه. احتمال اینکه بعد از فعال کردن یک تم یا اضافه کردن یه وبسایت جدید روی وردپرس تون، با صفحه سفید مرگ روبرو بشید وجود داره. به صفحه هاى مديريت وردپرس وارد بشید و يك تم پيش فرض وردپرس رو فعال كنيد (مثلا بيست و بيست و يك.) اگر از وردپرس 5.8 و پايين تر استفاده میکنيد لطفأ به پوسته بيست بيست و يك برويد چون تم بیست بيست و دو به نسخه 5.9 و بالاتر نياز داره. اگر نمى تونيد به صفحه هاى مديريتتون دسترسی پیدا كنيد، میتونید از طريق FTP به وبسايتتون دسترسى پيدا كنيد و به پوشه  wp-content/themesبريد و اسم پوشه رو براى تم فعال تغيبر بديد.

 

 

خطاى سرور داخلى

دلايل مختلفى براى خطاى سرور داخلى وجود داره که برای حل اونها میتونید این راه ها رو امتحان کنید:

  • محتمل ترين مشكل، يه فايل htaccess خرابه. با استفاده از FTP وارد ريشه سايتتون بشید و اسم فايل htaccess تون رو به  htaccess_old تغيير بدید. سعى كنيد سايتتون رو بارگذارى كنيد تا بينيد اين کار مشكل شما رو حل كرده است يا نه. اگر جواب داد، حتمأ به تنظيمات > پيوندهاى ثابت بريد و پیوندهاى دائمى رو بازنشانى كنيد. با اين كار يك فايل htaccess جديد براى شما ايجاد مى شه.
  • سعى كنيد همه پلاگين (افزونه) ها رو غيرفعال كنيد تا بينيد آيا مشكل افزونه است يا نه.
  • تم رو به يك تم پيش فرض وردپرس (مثلآ بيست بيست و يك) تغيير بدید تا مشكلات مربوط به تم رو از بین ببرید. اگر از وردپرس 5.8 و پايين تر استفاده مى كنيد، لطفأ به پوسته بيست بيست و يك بريد چون تم بيست و دو به نسخه 5.9 و بالاتر نياز داره.
  • محدوديت حافظه PHP رو زیاد کنید.
  • پوشه هاى wp-admin و wp-includes رو از یه وردپرس جديد دوباره آپلود كنيد.

 

 

خطا در برقرارى اتصال پايگاه داده

اگر صفحه اى با پيام “خطا در برقرارى اتصال پايگاه داده” میبینید، به اين معنیه كه در اتصال به پايگاه داده شما مشكلى وجود داره و ممكنه دلايل مختلفى هم براى اين وجود داشته باشه:

 

←اطلاعات wp-config.php نادرست

 

“خطا در ايجاد اتصال پايگاه داده” معمولآ به دلیل خطا در فايل wp-config.php شما ايجاد مى شه. به سايتتون در سرويس گيرنده FTP دسترسى پيدا كنيد.  wp-config.php را باز كنيد و مطمئن بشید كه این موارد درست وارد شده:

  • نام پايگاه داده
  • نام كاربرى پايگاه داده
  • رمز عبور پايگاه داده
  • ميزبان پايگاه داده

 

اگر مطمئنید كه پيكربندى شما درسته، مى تونيد رمز عبور MySQL خودتون رو به صورت دستى تنظيم مجدد كنيد.

 

 

مشكلات با ميزبان وب شما

قدم بعدى اینه  كه با ميزبان وب خودتون تماس بگيريد. این مشكلات ميزبانى ممكنه باعث مشكل بشن:

  • پایگاه داده شما به سهمیه رسیده و بسته شده است.
  • سرور از كار افتاده است.

 

با ارائه دهنده هاست تون تماس بگيريد تا ببينيد آیا يكى از اين مشكلات، باعث مشكل شما شده يا نه.

 

 

وب سايت در معرض خطر

اگر خطاهاى wp-config.php رو بررسى كردید و مشكلات هاست رو با ميزبان تون چک کردید، ممكنه سايت شما هک شده باشه.

 

سايتتون رو با   sucuri siteCheck اسكن كنيد تا مطمئن بشید خطری وجود نداره.

 

 

ارتقاى خودكار ناموفق بود

شرايطى وجود دارد كه ويژگى به روز رسانى خودكار وردپرس از كار بيفتد. این شرایط عبارت اند از:

  • يك صفحه سفيد خالى و بدون اطلاعات
  • هشدارى مبنى بر اينكه به روز رسانى انجام نشد
  • پيغام خطاى PHP

 

ويژگى ارتقاى خودكار وردپرس ممكنه به دليل نقص در اتصال با فايل هاى اصلى وردپرس، مشكل در اتصال اينترنت شما در حين ارتقا يا مجوزهاى فايل نادرست از كار بيفتد.

 

 

زمان اتصال تمام شد

این خطا زمانى دیده میشه كه وبسايت شما تلاش میكنه بيش از توان و ظرفیت سرور کار انجام بده. مخصوصأ در هاست اشتراكى كه محدوديت حافظه تون محدوده، بیشتر دیده میشه. برای حل این مشکل، میتونید این کارها رو انجام بدید:

 

  • تمام پلاگین ها رو غیرفعال كنيد. اگر غيرفعال کردن همه افزونه های وردپرس در سایت شما مشکل رو حل كرد، اونا رو یکی یکی دوباره فعال كنيد تا ببينيد كدوم افزونه باعث ايجاد مشكل شده.
  • به يكی از قالب های پيش فرض وردپرس بريد. اگر از وردپرس 5.8 و پايين تر استفاده میكنيد، لطفأ به پوسته بيست بيست و يك بريد چون تم بيست بيست و دو به نسخه 5.9 و بالاتر نياز داره. احتمالا این کار مشکل شما رو کامل حل کنه.
  • محدوديت حافظه تون رو در wp-config.php افزايش بديد. اگر از هاست اشتراكى استفاده میكنيد، ممكنه مجبور بشید از ارائه دهنده هاستتون بخوايد كه محدوديت حافظه رو براى شما افزايش بده.
  • حداكثر زمان اجرا رو در فايل ini تون زیاد کنید. این یک فایل اصلی وردپرس نیست، بنابراين اگر مطمئن نيستيد که چطور اونو ويرايش كنيد، با ارائه دهنده هاستتون تماس بگيريد تا و ازشون بخواید حداكثر زمان اجراى شما رو افزايش بدن.

 

 

 

حالت تعمير و نگهدارى پس از ارتقا

وقتی  كه وردپرس به روز مى شه، به طور خودكار يك فايل .maintenance  تعمير و نگهدارى رو نصب مى كنه. بعد از ارتقا، ممكنه پيامى با عنوان “براى تعمير و نگهدارى برنامه ريزى شده به طور خلاصه در دسترس نيست لطفأ يك دقيقه ديگر دوباره بررسی کنید” بگیرید. ممكنه فايل تعمير نگهدارى به درستى حذف نشده باشه.

براى حذف اين پيام میتونید این کارها رو انجام بدید:

  1. با استفاده از برنامه FTP خود وارد وبسايت خود شويد.
  2. فايل تعمير و نگهدارى maintenance. كه تو روت سايت شما پیدا میشه رو حذف كنيد.

 

 

شما تغييراتى ايجاد میكنيد و هيچ اتفاقى نمى افتد

اگر دارید یه سری تغییرات ایجاد میکنید ولی اونا رو تو مرورگر تون نمیبینید ممكنه لازم باشه كش مرورگر تون رو پاك كنيد. مرورگر شما اطلاعات مربوط به وب سايت هايي رو كه بازديد مى كنيد ذخيره مى كنه. اين باعث مى شه كه هنگام بازديد از وبسايت ها، اونا سريعتر بارگيرى بشن. چون مرورگر فقط بايد اطلاعاتى رو كه قبلأ در رایانه شما ذخيره شده، به جاى بارگيرى مجدد، بارگيرى كنه.

 

اگر تغييرى تو وﺏسايتى ايجاد كنيد ومرورگر اونو مهم بدونه، به سادگى داده ها رو از حافظه پنهان بارگيرى میكنه و شما تغييرات خودتون رو نمی بينيد. براى رفع مشكل، كافیه كش مرورگر تون رو خالى كنيد يا تب رو ببنديد و پيوند رو دوباره باز كنيد.

 

 

پيوندهای زيبا و خطای 404 و عدم کارکرد تصاوير

اگر با خطاى 404 در پيوندهاى زيبا و صفحه سفید  موقع بارگذاری تصاویر مواجه مي شید؛  ممکنه Mod-rewrite  به طور پيش فرض در Apache  فعال نباشه . Mod_rewrite يك ماژول

افزونهای از نرم افزار وب سرور Apache   است كه امكان “بازنويسى” URL ها رو در لحظه فراهم مى كنه. این مسئله برای کارکردن پیونده های زیبا ضروریه.

 

 

شبكه هاى چند سايت وردپرس معمولآ اين رو تجربه می كنند، اما مى تونه در ارائه دهنده های هاست اشتراکی یا پس از مهاجرت یا انتقال سایت هم اتفاق بیفته.

 

 

بيوندهاى ثابت تون رو از طريق Permalinks  < Settings بازنشانى كنيد. اگر اين كار نكرد، ممكنه مجبور بشید فايل htaccess. رو به صورت دستى ويرايش كنيد.

اگر با ويرايش فايل htaccess. تون  آشنا نيستيد با ارائه دهنده هاست تماس بگيريد تا از اونها بخوايد قوانين rewrite-mod  رو فعال كنن.

 

خطاهای 404 در نوع پست سفارشی

ممكنه با خطاهاى 404 و انواع پست سفارشى با مشكل مواجه بشید. مراحل زير رو امتحان كنيد:

  1. مطمئن بشید كه هيچ کدوم از انواع پست سفارشى و صفحات تكى شما اسم مشابهی ندارن. اگر مشابه بودن، نام صفحه تكى، از جمله Slug رو تغييربديد.
  2. وارد صفحه هاى مديريت وردپرستون بشید، به منوی تنظيمات > پيوندهاى دائمى بريد. پيوندهاى ثابت پيش فرض رو انتخاب كنيد. ذخيره كنيد. بعد پيوندهاى دائمى دلخواه خودتون رو مجددا انتخاب كنيد. اين کار قوانين بازنويسى رو پاك مى كنه و بايد مشكل شما رو حل كنه.

 

 

پيام هاى خطاى خاص

تعدادى خطاى مختلف وجود داره كه در گزارش هاى خطاى شما ظاهر میشن. براى دسترسى به گزارش هاى خطا، بايد اشكال زدايى(debugging) رو روشن كنيد و سپس گزارش خطا رو از طريق FTP پيدا كنيد. این اطلاعات به شما كمك مى كنه تا برخى از پيام هاى خطاى رايج رو رمزگشايى كنيد.

 

 

خطاهاى PHP

در زير برخى از پيام هاى خطاى رايج  php آورده شده:

خطاها و هشدارهاى مرگبار

نمی توان هدر ها را تغییر داد – هدر ها قبلا ارسال شده اند!

اگر اخطارى دریافت كرديد مبنى بر اينكه وردپرس نمى تونه اطلاعات هدر رو تغيیر بده و سرصفحه (هدر)ها قبلا ارسال شدن، معمولآ به اين معنیه كه قبل از تگ هاى باز يا بعد از تگ هاى بسته شدن ، فاصله يا كاراكتر داريد.

اگر زماني كه وردپرس رو به تازگى نصب كردید با اين مشكل مواجه هستيد، ممكنه یه خطاى نحوى تو wp-config.php وارد كرده باشيد.

 

فراخوانى به تابع تعريف نشده

خطا در خواندن فراخوانى تابع تعریف نشده مى تونه به اين معنى باشه كه يك افزونه وردپرس در حال تلاش براى پیدا کردن فايل يا داده اي است كه در كد موجود نيست يا در دسترس نيست. دلايل اين امر عبارتند از:

  • هنگام تلاش براى نصب خودكار يا ارتقاء خودكار يك افزونه، خطايى رخ مى دهد، سعى كنيد افزونه را به صورت دستى نصب يا ارتقا دهيد.
  • هنگام تلاش براى نصب خودكار يا ارتقاء خودكار يك تم، خطايى وجود دارد، سعى كنيد تم را به صورت دستى نصب يا ارتقا دهيد.
  • ممكن است از يك افزونه وردپرس ناسازگار يا تم ناسازگار استفاده كنيد. اين ممكن است با نسخه هاى قديمى تر وردپرس همخوانی نداشته باشد. يا اگر مى خواهيد از افزونه چند سايتى ورديرس در نصب يك سايت استفاده كنيد. براى حل اين مشكل وردپرس رو به روزرسانی کنید.
  • ممكن است سعى كنيد تابعى را فراخوانى كنيد كه وجود ندارد. فایل php را براى غلط املايى بررسى كنید.

 

افزونه وردپرس را غيرفعال كنيد يا قالب وردپرسی رو كه باعث بروز خطا شده رو تغيير بدید. اگر نمى تونيد اين كار رو از داخل صفحه مديريت انجام بديد، ممكنه مجبور بشید اين كار رو به صورت دستى از طريق FTP انجام بدید.

 

 

اندازه حافظه مجاز تمام شده است

خطاى Memory Size Exhausted  Allowedبه اين معنیه كه نصب وردپرس شما حافظه كافى براى انجام اون کارهایی که شما میخواید رو نداره. مى تونيد مراحل زير رو امتحان كنيد:

  • محدوديت حافظه خود را در wp-config.php خود را افزايش دهيد.
  • با ویرایش ini محدودیت حافظه خود را افزایش دهید. اين فايل همراه با ورديرس نيست، بنابراين اگر با آن شنا نيستيد، بايد با ميزبان وب خود تماس بگيريد تا محدوديت حافظه خود را افزايش دهيد.

 

از حداكثر زمان اجرا بيشتر شد

ممكنه پيامى مثل “حداكثر زمان اجراى 30 یا 60 ثانيه فراتر رفته” دريافت كنيد. اين به اين معنیه كه تكميل يك فرايند بيشتر طول مى كشه و زمانش هم به پايان مى رسه. راه هاى مختلفى براى رفع اين خطا وجود دارد.

 

Editing .htaccess

قبل از ويرايش، از پشتیبان گیری htaccess مطمئن شويد.

 

خط زير را به  htaccess. اضافه كنيد.

Php_value max _execution_time 60

 

 

در حال ويرايش php.ini

موارد زير را به php.ini اضافه كنيد.

Max_execution_time = 60

 

اگر مطمئن نيستيد كه چطور اين تغييرات رو انجام بدید یا اگر از هاست اشتراكى استفاده مي كنيد كه نمیتونید خودتون اونا رو انجام بدید، بايد با ارائه دهنده هاست تون تماس بگيريد و ازشون بخوايد حداكثر زمان اجراى شما رو افزايش بدن.

 

 

تجزيه خطاها

خطاى نحوي

اگر هنگام ايجاد ساختار PHP شما اشتباه كرد شما به عنوان مثال میتوانید:

  • از دست دادن یه ; در آخر یک خط فردی
  • استفاده از گيومه هاى فرفرى.{}
  • يك براكت فرفرى وجود ندارد.{

 

وقتی  اين خطا ظاهر مى شه، به شما مى گه كه خطا در كدام فايل مثلآ (functions.php)  و تقريبا در كدام خط (ممكن است هميشه خط دقيق نباشد، بنابراين حتمٱ قبل و بعد از آن را برسى كنيد) در كد، وجود داره.

 

 

غير منتظره

اگر خطايى دريافت میكنيد كه میگه”  خطاى تجزيه: غيرمنتظره” معمولآ به اين معنیه كه فراموش كردید يك كاراكتر رو وارد كنيد. .رایج ترين شون عبارتند از:

  • ′₌′ غيرمنتظره: فراموش كرده ايد كه $ را هنگام ارجاع به يك متغير اضافه كنيد.
  • غيرمنتظره ′)′: فراموش كرده ايد كه براكت باز را اضافه كنيد(.
  • غیر منتظره ′(′: فراموش كرده ايد كه براكت بسته را اضافه كنيد).
  • غيرمنتظره STRING-T :يک علامت نقل قول يا يك نقطه ويرگول در انتهاى خط قبلى را فراموش كرده ايد.
  • غير منتظره T-ELSE : شما يك عبارت else دارید بدون اینکه دستور if  باز شده ای وجود داشته باشد.

 

 

استفاده از يك ثابت تعريف نشده

مثل خطاهاى تجزيه، “استفاده از يک ثابت تعريف نشده” به اين معنىه كه شما يك كاراكتر رو از دست دادید. میتونه یکی از این دو مورد باشه:

  • هنگام ارجاع به يك متغير، يك $ را از دست نمى دهيد.
  • از دست رفته علامت نقل قول در اطراف كليدهاى آرايه

 

 

خطاهاى پايگاه داده

ممكنه خطاهاى زير در رابطه با پایگاه داده وردپرس شما ظاهر بشه:

  • خطاى 13 – نمى توان فایل را ایجاد کرد یا نوشت.

 

دلايل مختلفى وجود داره كه  شما با اين خطا مواجه میشید:

  • MySQL نمى تواند يك فايل موقت ايجاد كند.

متغير MySQL به نام tmpdir روي دايركتورى تنظيم شده است كه هنگام استفاده از PHP براى دسترسى به  MySQL نمى توان در آن نوشت. براى بررسی اين موضوع    MySQL را در خط فرمان

وارد كنيد و متغيرvariables  show  رو تايپ كنيد. شما يك ليست طولانى دريافت میکنید و يكى از آنها اینطور خواهد بود:  somedir/ = tmpdir/  (هرجور خودتون تنظیم کردید).

 

براى حل اين مشكل، متغير tmpdir رو تغيير بدید تا به یه دايركتورى قابل نوشتن اشاره كنه.

 

  1. فايل cnf رو پیدا كنيد. در سيستم هاى nix* اين معمولأ در etc// است. در سيستم ويندوز my.ini  را پيدا كنيد.
  2. پس از يافتن، آن را در يك ويرايشگر متن ساده باز كنيد و بخش [mysqld] را پيدا كنيد.
  3. در زير اين بخش، خط tmpdir را پیدا كنيد اگر اين خط كامنت شده است (درابتدا يک # دارد) # را حذف کنید و خط را طوری ویرایش کنید که بخواند: tmpdir = writable/dir

Writeable/dir يك دايركتورى است كه مى توانيد در آن بنويسيد، برخى از tmp/ استفاده مى كند، يا مى توانيد var/tmp/ يا usr/tmp/  را نيز امتحان كنيد. در ويندوز، از    C:/Windows/ tmp  استفاده كنيد.

  1. فايل را ذخيره كنيد.
  2. MySQL را با تايپ mysqlshutdown  ، خاموش كنيد.
  3. MySQL را با رفتن به فهرست  MySQLو  تايپ  ./bin/safe_mysql &  شروع كنيد معمولا دايركتورى MySOL در /usr/local يا گاهى اوقات در /usr/  در سيستم هاى لينوكس است.

 

 

مجوزهای فایل نادرست هستند _ مجوزهاى فايل را تصحيح كنيد

اگر هيچ کدوم از اينها براتون معنادار نيست و كسى رو داريد كه سيستم شما رو براتون مديريت كنه، متن رو بهش نشون بدید، اون میتونه مشکلو حل کنه.

 

 

دستور CREATE برای كاربر رد شد

وقتی كه كاربر اختصاص داده شده به پايگاه داده، مجوزهاى كافى براى انجام عمل ايجاد ستون ها و جداول در پايگاه داده رو نداشته باشد این خطا اتفاق میفته. براى دادن مجوزهاى كافى به كاربر پايگاه داده خود بايد وارد سى پنل(cPanel) يا پلسك(plesk) بشید.

يا مى تونيد يك كاربر جديد براى پايگاه داده تون اختصاص بدید. اگر يك كاربر جديد ايجاد مى كنيد بايد مطمئن بشید كه اطلاعات به روز شده باشه.

 

خطا

ممكنه به اين دليل باشه كه:

  • در tmp/ (هرجا tmpdir باشد) فضاى خالى نداريد
  • فايل هاى زيادى در tmp/ داريد (حتى اگر فضای خالى زیادى وجود داشته باشد)
  • كش شما در سرور شما پر است.

اين يك خطاى MySOL هست و ارتباط مستقيمى با وردپرس نداره، شما بايد در موردش با هاست تون تماس بگيريد. برخى از كاربران گزارش دادن  كه اجراى دستور “تعمير جدول” در phpMyAdmin اين مشكل رو برطرف كرده.

 

خطاى 145

اين نشون مى ده كه يك جدول در پايگاه داده شما آسیب ديده يا خرابه.

 

 

همیشه قبل از هر نوع تغییری روی پایگاه داده، ازش پشتیبان گیری کنید.

اگر قبلا از phpMyAdmin  استفاده نکردید با هاست تون تماس بگیرید و ازشون بخواید که دستور check/repair رو روی پایگاه داده تون اجرا کنن.

 

 

ستون ناشناخته

خطای ستون ناشناخته میتونه ناشی از وجود نداشتن یک ستون در پایگاه داده باشه. اگه به تازگی وردپرس رو به روز رسانی کرید، سعی کنید دوباره به صورت دستی به روز رسانیش کنید.

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

 

اگر سوالی دارید از بیاتم بپرسید!

 

 

 

 

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *