قبل از توضیح در خصوص رفع خطای داخلی سرور یا internal server error بد نیست بدانید که خطای داخلی سرور یکی از رایج ترین خطاهای وردپرس است. با توجه به اینکه این خطا هیچ گونه اطلاعات دیگری را در مورد خود ارائه نمی دهد، بسیاری از کاربران به ویژه کاربران مبتدی وردپرس رفع این خطا را بسیار خسته کننده می بینند. اما امروز ما در مجله اینترنتی ماهان سرور قصد داریم به شما راه حلهای ساده جهت رفع این مشکل را معرفی کنیم. پس همراه ماهان سرور ارائه دهنده خدمات خرید هاست و دامنه، سرور مجازی و اختصاصی در ایران باشید.
خطاهای رایج سرور و راه حل های رفع هریک
در ادامه مهم ترین و رایج ترین خطاهایی که در سرور رخ میدهد را بررسی می کنیم:
خطای داخلی سرور 500
شاید برایتان سوال پیش آید که خطای داخلی سرور یعنی چه، در ادامه سعی میکنیم خطاهای داخلی وردپرس را بیشتر معرفی کنیم. در واقع خطای 500 یک خطای عمومی است و زمانی ارسال میشود که سرور با یک مشکل ناگهانی مواجه شده و قادر به اجرای درخواست نیست. این خطا نشاندهنده مشکلی وسیع در سرور بدون اشاره مستقیم به منشأ دقیق آن است. کاربرانی که با این ارور مواجه میشوند معمولاً با پیامی به معنای «خطای داخلی سرور 500» مواجه میشوند که ممکن است به همراه توضیحاتی مبنی بر اینکه “هیچ پاسخی از سرور دریافت نگردیده” آمده باشد.
این پیامها غالباً اطلاعات کافی برای شناسایی دقیق مشکل را فراهم نمیکنند. عوامل گوناگونی مانند نقص در اسکریپتهای سرور، خطاهای کدنویسی، مشکلات ناشی از برنامههای نصبشده در سرور، دسترسیهای نادرست فایلها و دایرکتوریها، نقص منابع سیستم همچون محدودیت حافظه یا تنظیمات زمانبندی، تنظیمات نادرست فایلهای htaccess یا پیکربندی سرور و مشکلات اتصال دیتابیس میتوانند به این خطا منجر شوند.
راه حل رفع:
برای حل این خطا باید گام به گام عمل کنید و اولین قدم مطالعه لاگهای سرور است. اگر خطا پس از بهروزرسانیهای اخیر یا تغییرات رخ داده، ممکن است ناشی از بهروزرسانی ناقص باشد که بازگردانی تغییرات به حالت قبل میتواند مشکل را حل کند. همچنین با بررسی دسترسیها میتوانید از قابلیت دستیابی و اجرای فایلها اطمینان حاصل کنید.
در واقع مانیتور کردن میزان مصرف منابع، شناسایی حدها و نیاز به بهینهسازی را آسان میکند. در صورت بروز مشکل در کدها، برطرف سازی خطای کدنویسی توسط توسعه دهندگان انجام میگیرد و غیرفعال سازی افزونهها یا ماژولهای جدید، یکی دیگر از راههای تعیین عامل خطا به شمار میرود. اگر پس از بررسیهای فوق مشکل رفع نشد، ممکن است لازم باشد با تیم پشتیبانی سرور تماس بگیرید.
خطای داخلی سرور 501
خطای ۵۰۱ با عنوان “Not Implemented” در وب، وضعیتی را نشان میدهد که در آن سرور قابلیت اجرای درخواست خاصی که از طرف کاربر پیشنهاد شدهاست را ندارد. این خطا به این معناست، در حالی که سرور میتواند نوع درخواست ارسالی را تشخیص دهد، اجرای آن به دلیل عدم پشتیبانی از عملکرد در زمان حاضر امکانپذیر نیست. به عبارت دیگر، سرور با روشهای ارتباطی HTTP که به کار میبرید آشنا است، اما نمیتواند آنها را اجرا کند زیرا این روشها در سیستماش به صورت فعال پیادهسازی نشدهاند.
مثلاً، اگر کاربری تلاش کند که با یک متد HTTP سفارشی همچون “FOO” که سرور هیچ تنظیم یا تعریفی برای آن ندارد درخواستی بفرستد، با این کد خطا مواجه میشود. این موضوع، مختص سرویسهای وبی است که برای دریافت و پردازش دستورات خاصی مانند PUT یا DELETE آمادهسازی نشدهاند. همچنین ممکن است در سرورهایی که مدت بیشتری از به روزرسانیشان میگذرد، این خطا رخ دهد. زیرا این سرویسدهندهها، ممکن است با درخواستهایی که از ویژگیها یا روشهای نوینتر پروتکل HTTP بهره میبرند برخورد کنند و چون این تکنولوژیها هنوز در آنها اجرایی نشدهاند، درخواستها ناکام بمانند.
راه حل رفع:
برای رفع خطای ۵۰۱ “Not Implemented”، ابتدا باید مدارک و داکیومنتهای مربوط به سرور را مطالعه کنید تا درک بهتری از روشهای HTTP که توسط سرور پشتیبانی میشوند، به دست بیاورید. در صورت توسعه API حتماً مطمئن شوید از روشهایی استفاده میکنید که سرور قادر به پشتیبانی از آنها است. اگر سروری که با آن کار میکنید، قدیمی است و از روشهای جدیدتر پروتکلهای HTTP پشتیبانی نمیکند، باید سرور را به آخرین نسخه بروزرسانی کنید تا مشکل سازگاری آن حل شود.
چنانچه خطای ایجاد شده نتیجه استفاده از روش سفارشی درخواست باشد، لازم است درخواست را به نحوی تغییر دهید که به جای آن از یک روش استاندارد HTTP مانند GET، POST و غیره استفاده کند. در صورتی که برای موارد خاصی نیاز به پشتیبانی از روشهای اضافی است، ممکن است نیاز باشد تا سرور را برای مدیریت این روشها به نحو احسنت پیکربندی یا ارتقاء دهید. همچنین در مورادی که برای عملکرد بهتر برنامه نیاز به ارائه روشهای سفارشی داشته باشد باید توسعهدهندگان این قابلیتها را در سمت سرور پیادهسازی نمایند.
خطای داخلی سرور 502
خطای 502 Bad Gateway یعنی یک سرور در اینترنت پاسخ نامناسبی از یک سرور دیگر دریافت کرده است. این بخشی از خطاهای مربوط به شبکه بین سرورها بوده که ممکن است رخ دهد. هنگامی که فرد سعی میکند به صفحات وب دسترسی یابد، دلایل متعددی ممکن است منجر به وقوع این خطا شوند که عبارتند از:
- سروری که نقش دروازه یا پروکسی را دارد، پاسخ معیوبی از سرور دیگری دریافت کرده است.
- سرور اصلی به دلیل نگهداری یا بار زیاد از کار افتاده یا دسترسی به آن امکانپذیر نیست.
- اختلال در ارتباطات شبکه از جمله مشکلات DNS، اشکال در مسیریابی، یا قطع اتصال TCP
- برنامه نویسی ناصحیح مثل اشتباه در اسکریپتهای CGI میتواند منجر به خطا شود.
راه حل رفع:
کاربران معمولاً با پیغام “502 Bad Gateway” یا مشابه آن نظیر “Error 502” یا “HTTP Error 502 – Bad Gateway” مواجه میشوند. برای حل این خطا میتوانید چندین روش را امتحان کنید:
- گاهی اوقات بهسادگی با تازهسازی صفحه یا انتظار چند دقیقهای و تلاش مجدد میتوانید به صفحه دسترسی پیدا کنید.
- اگر سرور دچار بار زیاد یا خرابی شده باشد این مورد باید بررسی شود.
- مدیران سیستم باید وضعیت سرور بالادست را بازرسی کنند و دیدگاه کلی نسبت به عملکرد آن داشته باشند.
- درستی تنظیماتی که ارتباطات را مدیریت میکنند باید مورد تأیید قرار گیرد.
- باید هرگونه مشکل احتمالی شبکه که میتواند به برقراری ارتباط بین دروازه و سرور آسیب برساند را تشخیص داده و رفع کنند.
- تنظیمات فایروال نادرست میتوانند ممانعتی ایجاد کنند و به خطای 502 منجر شوند.
- گزارشهای سیستم ممکن است اطلاعاتی برای شناسایی ریشه مشکل ارائه دهند و به تشخیص دقیق محل وقوع خطا کمک کنند.
- گاهی افزایش منابع یا تغییر مقیاس در زیرساختها برای مقابله با بار زیاد کاربردی است.
- اشتباهات برنامهنویسی باید شناسایی و اصلاح شوند.
- راهاندازی مجدد سیستم گاهی میتواند مفید باشد.
- اگر مشکل مربوط به DNS باشد، بهروزرسانی یا اصلاح سوابق DNS نیاز است.
- باید به دنبال الگوهای ترافیک غیر عادی باشید که میتواند نشاندهنده حملات DdoS یا دیگر فعالیتهای مخرب باشد.
خطای داخلی سرور 503
خطای داخلی سرور 503 Service Unavailable یک کد وضعیت HTTP بوده که نشاندهندهی قطعی موقت سرور است. در این صورت سرور قادر به پردازش درخواستها نیست چون یا با بار اضافی مواجه شده یا در حالت نگهداری قرار دارد. این وضعیت معمولاً موقتی بوده و پس از مدت کوتاهی برطرف میشود. علل احتمالی ایجاد خطای 503 میتواند شامل تعمیرات یا بهروزرسانی سرور، فشار بیش از توان ترافیکی، یا نقص در خدمات وابسته باشد. مثلاً ممکن است اختلالی در سیستم پایگاه داده وجود داشته باشد یا خدمات طرف سومی که سرور به آن وابسته است دچار مشکل شده باشد. گاهی ممکن است پیکربندی نامناسب سرور یا وقفه در شبکه مانع از پاسخگویی درست سرور شود.
راه حل رفع:
برای رفع خطای 503، گاهی اوقات یک تازهسازی ساده صفحه کافیست، مخصوصاً اگر موضوع مربوط به بار موقتی باشد. اگر ادمین هستید، باید چک کنید آیا سرور برای نگهداری معمولی از کار افتاده یا اینکه قطع برنامهریزی نشدهای رخ داده است. جهشهای غیرمنتظره در ترافیک را زیر نظر بگیرید؛ چرا که ممکن است نشانگر یک تلاش بیرحمانه برای نفوذ به سرویس باشد.
اطمینان حاصل کنید که تمامی برنامهها و خدمات مهمی که سرور به آنها تکیه دارد به درستی اجرا میشوند. گزارشها را مورد تجزیه و تحلیل قرار دهید تا خطاهای پیکربندی را کشف کنید و بررسی کنید که آیا نیازمند منابع بیشتری چون زمان، حافظه، یا CPU هستید. نگهداری سیستم را در ساعاتی که کاربران کمتری در شبکه فعالیت دارند برنامهریزی کنید و ابتدا کاربران را از طریق روشهای مناسب ارتباطی مطلع سازید.
برای مواجهه با افزایش درخواست کاربران روشهای آمادهسازی متوازن و مدیریت ترافیک را پیادهسازی کنید. اگر سختافزار سرور کافی نیست، بهتر است به فکر ارتقاء منابع باشید یا بار را میان چند سرور تقسیم کنید. از راهحلهای مقیاسپذیر خودکار در محیطهای میزبانی ابری استفاده کنید تا بتوانید منابعی را تنظیم کنید که با حجم ترافیک متناسب باشند. همچنین ابزارهای نظارتی تنظیم کنید تا در صورت بروز مشکلاتی مثل بیشباری یا سایر موارد، بلافاصله به ادمینها هشدار داده شود.
خطای داخلی سرور 504
خطای 504 Gateway Timeout در سیستم وضعیت HTTP به نارسایی در دریافت پاسخ به موقع از سوی سرورهایی که در زنجیرهی درخواستها عمل میکنند اشاره دارد. این مسئله میتواند به دلیل اختلالات شبکه بین میزبانها، قطعی سرور بالادستی و عدم پاسخگویی بهینه یا شرایط ترافیکی شدید اتفاق بیفتد و توانایی سرورها برای ارتباط بهموقع را تحت تأثیر قرار دهد. مشکلات DNS که منجر به تأخیر در روند ارتباط میشوند، کاستیهای سیستمهای شبکه مانند پیکربندی نادرست فایروالها و روترها میتوانند از دیگر دلایل وقوع این خطا باشند.
راه حل رفع:
برای رفع مشکل خطای 504، توصیه میشود در ابتدا اتصال شبکه را بازبینی کرده و اطمینان حاصل کنید که اتصال ثابت و امنی دارید. در صورت بروز مشکلات اندک میتوانید با امتحان مجدد اتصال، موقعیت را پایش کنید. مدیران سیستم باید وضعیت و گزارشهای سیستمی را کنترل کنند تا ناکارآمدیهای احتمالی را در نقاط مختلف شبکه تشخیص دهند.
باید بررسی شود آیا سرویسها و مولفههای تابعه سرور بهدرستی کار میکنند و آیا گردش کار جریان دارد یا خیر. در صورت نیاز به مدیریت مواردی فراتر از ظرفیت سیستم، بهینهسازی پیکربندیها یا افزایش منابع پیشنهاد میشود. همچنین، بازبینی دقیق تنظیمات دستگاههای شبکه مانند روترها و فایروالها ضروری است تا از بروز اختلال در جریان دادهها جلوگیری شود.
خطای داخلی سرور 505
خطای 505 HTTP Version Not Supported به معنای آن است که سرور نمیپذیرد یا نمیتواند درخواستهایی را پردازش کند که با نسخهی خاصی از پروتکل HTTP که مشتری استفاده کرده، ارسال شدهاند. به عبارت دیگر، این کد وضعیت تأیید میکند که سرور قابلیت همکاری با ورژن درخواستی پروتکل HTTP که توسط درخواستکننده مورد استفاده قرار گرفته است را ندارد.
این مشکل ممکن است به دلیل استفاده از ورژن HTTPکه توسط سرور پشتیبانی نمیشود یا آن که سرور برای نپذیرفتن ورژنهای خاصی پیکربندی شده باشد، رخ دهد. علاوه بر این، ممکن است سرور به دلیل قدیمی بودن نتواند نسخههای جدیدتر پروتکل HTTP را تشخیص دهد.
راه حل رفع:
برای رفع این مشکل به کاربران توصیه میشود که تلاش کنند از طریق یک مرورگر متفاوت دسترسی را تجربه نمایند یا مرورگر خود را به آخرین نسخه بهروزرسانی کنند. مدیران سرورها باید بررسی کنند که سرور به درستی از نسخههای پروتکل HTTP پشتیبانی میکند یا خیر و در صورت قدیمی بودن نرمافزار استفاده شده، ارتقاءداده شود تا از جدیدترین پروتکلها پشتیبانی کند. باید مطمئن شوند که هرگونه سرویس واسط مانند پراکسیها یا متعادلکنندههای بار قادر به تامین درخواستهای موردنیاز هستند.
سایر خطاهای داخلی سرور در وردپرس
باید به این نکته توجه داشته باشید که خطای سرور داخلی مختص به وب سایتهای وردپرسی نیستند و این خطاها می تواند برای هر وب سایت در حال اجرا بر روی وب سرور اتفاق بیفتند. خطای سرور داخلی در وردپرس اغلب به خاطر عملکرد theme و یا یک plugin خاص رخ میدهد. سایر علل احتمالی بروز خطای سرور داخلی در وردپرس عبارتند از: فایل htaccess خراب شده و محدودیت حافظه php که در ادامه راه حل رفع این مشکلات را نیز ارائه خواهیم داد.
خطای داخلی سرور بررسی فایل htaccess و راه حل رفع آن
پس از بروز خطای داخلی سرور در وردپرس اولین کاری که باید انجام دهید این است که از طریق پنل کاربری cpanel و یا نرم افزار FTP به سراغ فایل htaccessبروید. این فایل در همان پوشه ای قرار دارد که پوشه هایی نظیر wp-content, wp-admin, wp-includes قرار گرفته اند. حال که به فایل دسترسی پیدا کردید نام آن را از .htaccess به .htaccess_old تغییر دهید.
در صورتی که با این تغییر نام مشکل ارور رفع شد، از پیشخوان وردپرس و از بخش تنظیمات به قسمت پیوندهای یکتا رفته و بر روی دکمه ذخیره کلیک کنید. این کار باعث می شود که یک فایل .htaccess جدید ساخته شود و بدین ترتیب صفحات به خطای 404 برنگردند. اگر با این تغییر نام مشکل شما حل نشد، ابتدا همه چیز را به حالت اول خود برگردانید و سپس راه حل دوم را امتحان کنید.
خطای داخلی سرور افزایش میزان حافظه PHPو راه حل رفع آن
هر گاه در دسترسی به پیشخوان وردپرس یا آپلود کردن یک عکس در وردپرس دچار مشکل و خطای داخلی سرور شدید، به سراغ افزایش میزان حافظه PHP بروید. برای این کار مراحل زیر را طی کنید:
- یک فایل متنی خالی با نام ini ایجاد کنید.
- کد memory=64MB را در آن بنویسید.
- فایل را ذخیره کنید.
- این فایل را با استفاده از FTP درون پوشه wp-admin کپی کنید.
در نظر داشته باشید که اگر این کار مشکل شما را حل کرد، تنها یک راه حل موقت است و باید در این زمینه با شرکت ارائه دهنده هاست خود در تماس باشید تا آنها شما را بیشتر راهنمایی کنند. در صورتی که این راه حل نیز به شما جواب نداد باید روشهای دیگر را امتحان کنید.
خطای داخلی سرور غیر فعال کردن تمامی پلاگین ها
در صورتی که هیچ یک از دو راه حل بالا به شما کمکی نکردند، به احتمال زیاد علت اصلی بروز خطای داخلی سرور وجود یک پلاگین خاص است. یا اینکه چند پلاگین که در کنار یکدیگر خوب کار نمی کنند، می توانند دلیل اصلی این مشکل باشند. برای غیر فعال کردن پلاگین ها پس از اینکه از طریق FTP یا قسمت File Manager در کنترل پنل Cpanel به فایلهای وب سایت دسترسی پیدا کردید درون پوشه wp-admin، به دنبال پوشه plugins بگردید و نام آن را تغییر دهید.
مثلا می توانید نام آن را plugins.deactivate بگذارید که با این کار تمام پلاگینها را غیر فعال میکنید. در صورتی که با این کار مشکل حل شد، باید به پیشخوان وردپرس رفته و سپس پلاگینها یا همان افزونه ها را به صورت تک به تک مجدد فعال کنید تا به ریشه اصلی مشکل پی ببرید.
خطای داخلی سرور آپلود دوباره فایلهای هسته وردپرس و راه حل رفع آن
به وب سایت wordpress.org رفته و آخرین نسخه وردپرس را دانلود کنید (در صورتی که از وردپرس فارسی استفاده می کنید آخرین نسخه وردپرس فارسی را دانلود کنید.) فایل دانلودی را از حالت zip در آوردید و سپس از طریق FTP به فولدر ریشه سایت یا همان public_html بروید.
همزمان در همان محیط نرم افزار FTP به سراغ فایلهای درون کامپیوتر خود رفته و از پوشه wordpress که مربوط به آخرین نسخه وردپرس که دانلود کردید است، روی دو پوشه wp-includes و wp-admin کلیک راست کرده و گزینه upload را انتخاب کنید. به دلیل وجود فولدرهای هم نام بر روی هاست، نرم افزار FTP از شما درباره اطمینان از کپی این دو فولدر می پرسد که در این صورت شما باید اجازه چنین کاری را بدهید.
خطای داخلی سرور یا تماس با پشتیبانی شرکت هاستینگ و راه حل رفع آن
اگر تمامی چهار راه حل بالا در رفع خطای داخلی سرور بی اثر بودند، وقت آن رسیده با پشتیبانی شرکت ارائه دهنده خدمات میزبانی وب سایت خود تماس بگیرید و از آنها بپرسید که چگونه خطای سرور را رفع کنیم تا در این باره شما را راهنمایی کنند.