رفع ارور 500
error 500 به چه معناست؟
error 500 یا همان خطای Internal Server Error به معنای ارور سرور داخلی است. این خطا یکی از کد های وضعیت HTTP است که به عنوان خطا شناخته شده و در موقعیت های متفاوتی ممکن است در سایت با آن روبه رو شوید.
این پیغام خطا در شرایط متفاوتی دیده می شود که در تمام موارد معنای مشابهی دارد و امکان دارد در موقعیت های مختلف، با توجه به وب سایتی که در حال بازدید آن هستید پیغام های زیر را مشاهده کنید:
500 Internal Server Error 500 Error HTTP Error 500 500 That’s an error (Temporary Error (500
در کل error 500 خطاهایی هستند که از سمت سرور یا هاست با آن مواجه میشویم. بنابراین لازم است برای پیدا کردن راه حل های مناسب سرور را به خوبی بررسی کنیم.
ما در این مقاله به راهکار های مناسب برای رفع خطای error 500 در وردپرس می پردازیم. البته به دلیل محبوبیت بسیار بالای آن و استفاده ی بیشتر کاربران از این سیستم مدیریت محتوا.
جهت کاوش و پیدا کردن دلیل وقوع error 500 و چگونگی برطرف نمودن آن به مراحل زیر توجه کنید:
بررسی error_log
قدم اول در مواردی که در سایت با این خطا برخورد کردید، بررسی ارور لاگ سایت می باشد، چون با مشاهده خطای لاگ می توانید مشکل را سریعتر شناسایی کرده و نسبت به از بین بردن آن اقدام کنید.
در بیشتر مواقع زمانی که با خطای Internal Server Error برخورد کردیم، دلیل مواجهه با این مشکل در قسمت error log کنترل پنل هاست نمایش داده می شود برای کنترل پنل سی پنل از قسمت Metrics روی گزینه Errors کلیک کنید.
برای کنترل پنل دایرکت ادمین هم می توانید error log را در صفحه اصلی دایرکت ادمین روی گزینه Site Summary / Statistics / Logs کلیک کرده و سپس Web Error Log روی گزینه 100 lines کلیک کنید تا 100 خطای آخر برای شما به نمایش گذاشته شود.
در سیستم های مدیریت محتوا، امکان مشاهده ی خطا از طریق فایل کانفیگ آن ها نیز امکان پذیر است.
پس به طریق زیر اقدام نمایید:
فعال کردن امکان مشاهده خطا در وردپرس
فایل wp-config.php موجود در public_html هاست را باز کرده و مقدار WP_DEBUG’ را به true تغییر دهید.
فعال کردن امکان مشاهده خطا در جوملا
برای فعال کردن امکان مشاهده خطا در سایت های جوملا در فایل configuration.php مقدار error_reporting را به صورت زیر تغییر دهید.
public $error_reporting = '1';
فعال کردن امکان مشاهده خطا در پرستاشاپ
برای مشاهده خطاهای prestashop باید فایل defines.inc.php در مسیر /home/username/public_html/config را ویرایش کنیم و مقدار define(‘PS_MODE_DEV ‘, false ); را به define(‘PS_MODE_DEV ‘, true ); تغییردهیم.
توجه : پس از مشاهده خطا مجدد تغییر را به حالت اولیه برگردانید چون مشاهده هشدارها و خطاهای سایت توسط بازدیدکنندگان جالب نیست .
چک کردن فایل htaccess
برای بررسی این فایل نیاز است که نام فایل رو تغییر دهید. مثلا” نام اصلی را به htaccess_old تغییر نام دهید.
برای اینکه مطمئن شوید مشکل از این فایل است یا خیر، فایل را مثلا” به نام htaccess_old عوض کنید.
برای اینکار ابتدا وارد هاست و بخش filemanager شده و به پوشه ی public_html وارد شوید.
فایل .htaccess فعلی را به htaccess_old یا نام مورد نظر خود تغییر دهید.
یک فایل جدید به نام .htaccess ساخته و کد زیر را در آن درج کنید و بعد از آن مشاهده ی سایت بدون error را مجددا” بررسی کنید.
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
اگر بعد از انجام این کار سایت را بدون خطا مشاهده کردید در این صورت مشکل حل شده، حالا باید خط به خط کدهای htaccess را به آن اضافه کنید تا متوجه شوید مشکل از کدام خط بوده است.
غیر فعال کردن افزونه ها (پلاگین ها)
چه از وردپرس استفاده کنید، چه جوملا و هر سیستم مدیریت محتوای دیگری، روی سیستم مدیریت محتوای خود یک سری افزونه یا پلاگین ( یا ماژول ) دارید که فعال بودن آن ها منجر به خطای 500 می شود. پس روش بعدی اینست که تک تک افزونه های سایت را غیر فعال کرده که متوجه شوید با غیر فعال کردن کدام افزونه، خطای internal server error 500 سایت شما از بین خواهد رفت.
اگر امکان دسترسی به مدیریت سایت را ندارید، سطح دسترسی پوشه Plugins را از طریق file manager به صفر تغییر دهید.
بررسی تنظیمات دیتابیس
مشخصات دیتابیس ایجاد شده در هاست لازم است حتما” با مشخصات درج شده در فایل wp-config.php یکسان باشند.
به عنوان مثال در صورتی که سایت با وردپرس طراحی شده نام دیتابیس- نام یوزر دیتابیس و رمز باید با نام دیتابیس- نام یوزر دیتابیس و رمز یوزر ایجاد شده در هاست یکسان باشد.
تغییر قالب به قالب پیشفرض وردپرس
برخی مواقع امکان دارد خطای 500 وردپرس به دلیل قالبی باشد که استفاده میکنید که در این صورت برای اطمینان و راهکار نهایی میتوانید قالب فعلی را غیرفعال کرده و از یکی از قالبهای پیشفرض وردپرس استفاده کنید. اگر به پیشخوان وردپرس دسترسی دارید به مسیر نمایش> پوستهها مراجعه کرده و یکی از قالبهای پیش فرض وردپرس را انتخاب کرده و روی دکمه فعال کردن کلیک کنید.
اما اگر امکان دسترسی به پیشخوان وردپرس را ندارید برای غیرفعال کردن قالب فعلی وارد هاست شده و در File Manager به مسیر public_html/wp-content/themes مراجعه کنید. سپس پوشه قالبی که در حال استفاده از آن هستید را انتخاب کرده و روی آن راست کلیک کرده، گزینه Rename را انتخاب کرده و در پنجره ی باز شده نام مناسبی برای پوشه قالب انتخاب نموده و ذخیره کنید. در این صورت قالب غیرفعال شده و یکی از قالبهای پیشفرض وردپرس به عنوان قالب سایت فعال خواهد شد. سپس میتوانید سایت را بررسی کرده و مشاهده کنید که آیا همچنان خطای 500 در سایت نمایش داده میشود یا خیر.
در صورت رفع آن مشخص میشود مشکلی در تم استفاده شده وجود دارد که نیاز است از طریق پشتیبانی قالب خریداری شده، آن را پیگیری نمایید، امکان دارد قالب شما نیازمند به پیش نیاز خاصی باشد که در سرور میزبان فعال نیست و یا با نسخه ی خاصی از php سازگار باشد.
توجه داشته باشید که در این روش حتما” باید یکی از قالبهای پیشفرض وردپرس در سایت وجود داشته باشد. پس اگر پوشهای به جز پوشه قالب در این مسیر از هاست وجود ندارد، قبل از انجام اینکار به آدرس fa.wordpress.org مراجعه کنید. سپس از داخل فایل zip دانلود شده به مسیر wp-content/themes مراجعه کرده و یکی از پوشهها را در هاست آپلود کنید.