ارور ۵۰۰ Internal server error یکی از رایج ترین خطاهای وردپرس است که اغلب زمانی رخ می دهد که سرور یا سیستم فایلی که وب سایت شما را اجرا میکند دچار مشکل شده باشد. این مشکل می تواند در دایرکتوری ریشه یعنی همان جایی که فایل های وردپرس شما هستند یا در سرور میزبان سایت شما رخ داد باشد.
فرایند رفع این خطا نیازمند عیبیابی های فراوان است و به زمان و صبر زیادی احتیاج دارد. در ادامه به معرفی راهکارهایی برای رفع ارور ۵۰۰ Internal server error در وردپرس میپردازیم تا بتوانید در کوتاهترین زمان ممکن این مشکل را برطرف کنید.
خطای 500 Internal Server Error چیست؟
خطای 500 Internal Server Error از کدهای وضعیت HTTP است که به دلایل مختلفی ممکن است سایت با آن مواجه شود. این ارور یک خطای عمومی است که اغلب به دلیل نصب اپلیکشن ورودپرس بر روی سرور در حال اجرا، یا بروز مشکل در هاست سایت رخ می دهد.
این خطا همچنین می تواند ناشی از تغییر ساختار فایل .htaccess یا محدودیت حافظهی PHP باشد، این در حالیست که عملکرد نامناسب افزونه ها و پوسته های ورودپرس نیز گاهی نقش اساسی در بروز این مشکل دارند.
تصحیح خطای 500 Internal Server Error در وردپرس
عیب یابی خطای 500 Internal Server Error با توجه به ماهیت این خطا، می تواند دشوار و تا حد زیادی زمانبر باشد. با این وجود، راهکارهای مناسبی برای رفع این خطا وجود دارد که در ادامه تمامی آنها را مورد بررسی قرار خواهیم داد. اما پیش از هر اقدامی بشدت توصیه می کنیم ابتدا از سایت خود نسخه ی پشتیبانی تهیه کنید تا در صورت بروز هر گونه مشکلات اطلاعات حیاتی خود را از دست ندهید.
با سرویس دهنده هاست خود تماس بگیرید
همانطور که گفته شد یکی از شایعترین دلایل بروز خطای 500 Internal Server Error می تواند مشکل در هاست باشد. پس به عنوان اولین قدم بهتر است به سرویس دهنده ی هاست خود تیکت بزنید و از آنها درخواست کمک کنید. اغلب ممکن است آنها با بررسی های بیشتر دلیل بروز خطا را پیدا و آن را برطرف کنند. از طرف دیگر اگر خطا از سمت آنها نباشد، شما می توانید با خیال راحت تر از سمت خود دست به عیب یابی بزنید.
چنانچه سرویس دهنده هاست شما اعلام کرد خطا از سمت آنها نیست، برای کسب اطمینان بیشتر می توانید فایل ارائه شده را فشرده کرده و از طریق FTP یا ابزار مدیریت فایل هاست خود آپلود کنید. به این ترتیب فایل مذکور در پوشه ی ریشه یا Root سرور شما بارگذاری می شود و پس کامل شدن این فرایند به آدرس YOUR_DOMAIN.com/info.php بروید.
اگر مشکلی در عملکرد سرور وجود نداشته باشد، این آدرس باید لود شود و اطلاعات سرور برای شما نمایش داده شود. اما اگر باز هم با خطای 500 Internal Server Error مواجه شوید یعنی مشکلی در عملکرد سرور وجود دارد و حالا می توانید با ارائه ی آدرس این صفحه به هاست، تقاضای رسیدگی بیشتر داشته باشید.
تصحیح فایل htaccess.
حساسیت فایل htaccess. آنقدر بالاست که یک تغییر کوچک در این فایل می تواند منجر به خرابشدن سایت شما و بروز خطای 500 Internal Server Error شود. یکی از سریعترین و سادهترین راهها برای عیبیابی فایل .htaccess این است که از طریق FTP یا ابزار مدیریت هاست، به محل نصب وردپرس وارد شوید. سپس، فایل htaccess. در ریشه محل نصب وردپرس را به چیزی مانند htaccess_old. تغییرنام دهید. این فایل پس از اتصال، در همان دایرکتوری قرار می گیرد که پوشه هایی مانند wp-content، wp-admin و wp-includes را در آن مشاهده کنید.
پس از تغییر نام فایل، سعی کنید به یکی از صفحات سایت خود وارد شوید، اگر موفق شدید یعنی مشکل از خرابی فایل htaccess. بوده است. پس پیش از اینکه اقدام دیگری در سایت خود انجام دهید، وارد Settings » Permalinks در پیشخوان وردپرس خود شوید و بدون انجام هیچ تغییر دیگری دکمه ی Save را بفشارید. با این کار یک فایل htaccess. جدید با قوانین بازنویسی شده مناسب برای شما ایجاد خواهد شد تا دیگر پست ها یا نوشته های شما با خطای 500 مواجه نشوند.
بیشتر کردن محدودیت حافظه پی اچ پی
محدودهی حافظهی PHP شما توسط سرویسدهندهی هاست و وردپرس تعیین می شود. هر چند وردپرس به شما اجازه میدهد حافظهی در دسترس خود را تا محدودهی تعیین شده توسط هاست بالا ببرید. گاهی اوقات علت خطای 500 Internal Server Error محدودیت حافظه PHP است.
اگر خطای internal server را به هنگام ورود به قسمت مدیریت وردپرس یا آپلود یک تصویر در wp-admin مشاهده می کنید، لازم است با طی کردن مراحل زیر، میزان حافظه را افزایش دهید:
- یک فایل متنی خالی با نام php.ini ایجاد کنید
- کد memory=64MB را در آن قرار دهید
- فایل را ذخیره کنید
- با استفاده از FTP آن را در پوشه wp-admin آپلود نمائید
اگر با افزایش میزان حافظه مشکل برطرف شد، باید بدانید که این رفع خطا موقتی است و هنوز باید به دنبال پیدا کردن علت اصلی محدود شدن حافظه باشید که می تواند یک پلاگین رمزگذاری شده ضعیف و یا حتی تابع قالب باشد. اکیدا توصیه می کنیم از شرکت ارائه دهندهی هاست خود بخواهید که با با بررسی لاگهای سرور به شما کمک کند که بتوانید به طور دقیق مشکل را تشخیص دهید.
یکی دیگر از روش های افزایش حافظه پی اچ پی اضافه کردن کد define(‘WP_MEMORY_LIMIT’, ’64M’); به فایل wp-config.php است. به این منظور فایل مذکور را از دایرکتوری ریشه دانلود کنید و در ویرایشگر متنی موردنظر باز کنید. پس از اعمال تغییرات مجدداً فایل را آپلود و سایت را رفرش کنید.
آپلود مجدد هسته وردپرس
گاهی اوقات ممکن است بدلیل از بین رفتن، تعییر یا خرابی یک فایل، نصب هسته وردپرس با مشکل مواجه شود. اگر می خواهید مطمئن شوید که نقص در هسته علت بروز خطای 500 Internal Server Error نیست، میبایست پوشه های wp-admin و wp-includes را مجددأ در هاست بارگذاری کنید. به این منظور به سایت WordPress.org وارد شوید و روی دکمه ی دانلود کلیک کنید.
به این ترتیب یک فایل زیپ حاوی فایلهای نصب وردپرس در سیستم شما ذخیره خواهد شد. فایل مذکور را از حال فشرده خارج کنید، سپس با استفاده از یک سرویسFTP به وب سایت وردپرس خود متصل شوید. پس از اتصال، به پوشه روت بروید. این همان مسیری است که پوشه های wp-content، wp-admin وwp-includes در آن قرار گرفته است.
از ستون چپ پوشه وردپرس را روی کامپیوترتان باز کنید. حالا پوشههای wp-admin وwp-includes را انتخاب و روی آنها راست کلیک کنید و از منوی ظاهر شده گزینه ی Upload را انتخاب کنید.
به این ترتیب FTP client شما این پوشه ها را به سرور منتقل می کند و از شما می پرسد آیا مایلید این فایلها بازنویسی شوند. گزینه ی ” Overwrite” و “Always use this action” را انتخاب کنید و سپس دکمه ی Ok را بزنید.
حالا FTP client فایل های قدیمی وردپرس را جایگزین نسخه های جدید خواهد کرد. اگر فایل های وردپرس خراب باشد، با انجام این مراحل خطای 500 Internal Server Error رفع خواهد شد.
غیرفعال کردن پلاگین ها
اگر هیچ یک از راهکاری فوق موثر نبود، این خطا به احتمال زیاد توسط یک پلاگین خاص ایجاد شده است و یا ترکیبی از پلاگین هایی که نمی توانند در کنار هم عملکرد خوبی داشته باشند. متاسفانه، راه حل ساده ای برای تشخیص این امر وجود ندارد و شما باید تمام پلاگین های وردپرس را غیرفعال کنید.
به این منظور به قسمت مدیریت وردپرس رفته و بر روی “Plugins” کلیک کنید. حالا باید هر بار یک پلاگین را مجدداً فعال کنید تا زمانی که بفهمید با فعال کردن کدامیک پیغام خطا ظاهر میشود. در نهایت با تشخیص پلاگین مشکل ساز آن را حذف کرده، و خطا را به نویسنده پلاگین گزارش دهید.