امروز با خطایی Internal Server Error 500 رو برو شدم رفع کردن این خطا رو پیدا کردم و براتون نوشتم
ارور ۵۰۰ (HTTP Error 500) یا همان خطای Internal Server Error به معنای “ارور سرور داخلی” میباشد. این خطا یکی از کدهای وضعیت HTTP است که به عنوان خطا شناخته میشود که به دلایل مختلفی ممکن است سایت با آن مواجه شود.
در کل ارور ۵xx خطاهایی هستند که از سمت سرور یا هاست اتفاق می افتد. پس باید برای رفع خطا سرور را مورد بررسی قرار داد.
مدیرمون جلسه داشت میخاست سایت و نمایش بده برای کارفرما که با این مشکل روبرو شدم .
موارد زیر رو بررسی کنید تا مشکل رو پیدا کنیم
بررسی error_log
اولین گام در صورت مواجه شدن سایت با خطا، بررسی ارور لاگ سایت می باشد، چون با مشاهده خطای لاگ می توانید سریعتر مشکل را شناسائی و نسبت به رفع آن اقدام نمایید.
بسیاری از مواقع زمانی که خطا Internal Server Error را مشاهده می کنیم، دلیل ایجاد این مشکل در قسمت error log کنترل پنل هاست نمایش داده می شود برای کنترل پنل سی پنل از قسمت Metrics روی گزینه Errors کلیک کنید.
برای کنترل پنل دایرکت ادمین نیز می توانید error log را در صفحه اصلی دایرکت ادمین روی گزینه Site Summary / Statistics / Logs کلیک کنید و سپس Web Error Log روی گزینه ۱۰۰ lines کلیک کنید تا ۱۰۰ خطای آخر به شما نمایش داده شود.
چک کردن فایل htaccess
برای بررسی این فایل نیازه که نام فایل رو تغییر بدید. مثلا نام اصلی رو به htaccess_old تغییر بدید.
برای اینکه مطمئن شوید مشکل از این فایل است یا خیر. فایل را مثلا به htaccess_old تغییر نام دهید.
بدین منظور وارد هاست و بخش filemanager شده و وارد پوشه public_html شوید.
فایل .htaccess فعلی را به htaccess_old یا نام دلخواه تغییر دهید.
اگر بعد از اینکار سایت را بدون خطا مشاهده کردید پس مشکل حل شده، حالا باید خط به خط کدهای htaccess را به آن اضافه کنید تا ببینید مشکل از کدوم خط بوده است.
غیر فعال کردن افزونه ها (پلاگین ها)
چه از وردپرس استفاده کنید، چه جوملا و هر سیستم مدیریت محتوای دیگری، روی سیستم مدیریت محتوای خودتون یک سری افزونه یا پلاگین ( یا ماژول ) دارید که فعال بودن آن ها منجر به خطای ۵۰۰ شود. پس روش بعدی این هست که تک تک افزونه های سایت رو غیر فعال کنید و ببینید با غیر فعال کردن کدوم افزونه، خطا internal server error 500 سایت شما از بین خواهد رفت.
اگر به مدیریت سایت دسترسی ندارید، سطح دسترسی پوشه Plugins را از طریق file manager به صفر تغییر دهید.
بررسی تنظیمات دیتابیس
مشخصات دیتابیس ایجاد شده در هاست حتما باید با مشخصات درج شده در فایل wp-config.php یکسان باشند.
به عنوان مثال در صورتی که سایت با وردپرس طراحی شده نام دیتابیس- نام یوزر دیتابیس و رمز باید با نام دیتابیس- نام یوزر دیتابیس و رمز یوزر ایجاد شده در هاست یکسان باشد.
تغییر قالب به قالب پیشفرض وردپرس
گاهی وقتها ممکنه خطای ۵۰۰ وردپرس بخاطر قالبی که استفاده میکنید باشه که برای اطمینان و راهکار نهایی میتونید قالب فعلی را غیرفعال کرده و از یکی از قالبهای پیشفرض وردپرس استفاده کنید. اگر به پیشخوان وردپرس دسترسی دارید به مسیر نمایش> پوستهها مراجعه کرده و یکی از قالبهای پیش فرض وردپرس را انتخاب کرده و روی دکمه فعال کردن کلیک کنید.
اما اگر دسترسی به پیشخوان وردپرس ندارید برای غیرفعال کردن قالب فعلی وارد هاست شده و در File Manager به مسیر public_html/wp-content/themes مراجعه کنید. سپس پوشه قالبی که در حال استفاده از آن هستید را انتخاب کرده و روی اون راست کلیک کنید. گزینه Rename را انتخاب کرده و در پنجره باز شده نام دلخواهی برای پوشه قالب انتخاب نموده و ذخیره کنید. در این صورت قالب غیرفعال شده و یکی از قالبهای پیشفرض وردپرس به عنوان قالب سایت فعال خواهد شد. سپس میتونید سایت را بررسی کنید و ببینید که آیا همچنان خطای ۵۰۰ در سایت نمایش داده میشه یا خیر!
در صورت رفع مشکل مشخص است مشکلی در تم استفاده شده وجود دارد که نیاز است از طریق پشتیبانی قالب خریداری شده آن را پیگیری نمایید، ممکن است قالب شما به پیش نیاز خاصی نیاز داشته باشد که در سرور میزبان فعال نباشد و یا با نسخه های خاصی از php سازگار باشد.
دقت داشته باشید که در این روش حتما باید یکی از قالبهای پیشفرض وردپرس در سایت وجود داشته باشند. پس اگر پوشهای به جز پوشه قالب در این مسیر از هاست وجود نداره، قبل از انجام اینکار به آدرس fa.wordpress.org مراجعه کنید. سپس از داخل فایل zip دانلود شده به مسیر wp-content/themes مراجعه کرده و یکی از پوشهها را در هاست آپلود کنید.
خرابی فایل های وردپرس
ممکن هست فایل های اصلی هسته وردپرس شما خراب شده باشد. قبل از اعمال تغییرات حتما از اطلاعات بکاپ تهیه نمایید، سپس آخرین نسخه وردپرس را از وبسایت رسمی آن دانلود کرده و پوشه wp-content و فایل wp-config.php را از فایل دانلودی حذف کرده و سایر پوشهها و فایلهای موجود را با پوشه و فایل موجود در هاست خود تعویض کنید.
با این کار اطلاعات شما پاک نخواهند شد و تنها در صورت وجود مشکل از جانب هسته وردپرس، مشکل برطرف میگردد.