درصورتیکه به ارورهای داخلی برخورد کردهاید و به دنبال این هستید که علت ارور 500 و دلایل بروز آن را پیدا کنید و ببینید که چطور میشود از دست این ارور بدقلق راحت شد، در این مقاله آن را با هم بررسی میکنیم، البته قبل از اینکه به سراغ این موارد برویم، لازم است کمی در مورد این موضوع که اصلاً این ارور دقیقاً چیست هم صحبت کنیم تا بدانیم با چه خطایی طرفیم!
جالب است بدانید مهمترین تأثیر نصب SSL وردپرس افزایش امنیت سایت است که برای سایتهایی که دادههای مهم جابهجا میکنند بسیار ضروری است!
ارور ۵۰۰ و سایر ارورهای سمت سرور
استفاده از اینترنت همیشه دردسرهای زیادی داشته است و با وجود مواردی مانند کیفیت سرویس پایین و اوضاع سرعت اینترنت و همینطور کیفیت هاستها و سرویسهای میزبانی که عموماً در حد استاندارد نیست، باعث شده است که ما در زمانی که پای سیستم خود نشستهایم، با ارورهای رنگارنگی مواجه شویم و همه جور خطایی را در وب دیده باشیم، یکی از مهمترین این خطاها ارور ۵۰۰ است.
یک خطای بد قلق که با یک کد ۵۰۰ بزرگ به ما نمایشدادهشده و عموماً نمیتوان از این سایت استفاده کرد. این خطا بهخودیخود خطایی بد است اما وقتی که سایتی که ارور را میدهد سایت خود ما باشد اوضاع بدتر هم خواهد بود و اینجاست که ما باید به فکر چاره باشیم.
ارور یا خطا در یک سیستم رایانهای امری کاملاً اجتنابناپذیر است و به دلیل بالا بودن پیچیدگیهایی که وجود دارد قطعاً سیستم ما دچار خطاها و ارورهایی میشود. ایجاد ارور بهتنهایی مسئلهای طبیعی است اما موضوع مهمتر این است که ما بدانیم از کجا پیدا شده است.
در سیستمهای کامپیوتری قدیمی و نرمافزارهای قدیمی این مورد یک معضل بزرگ به حساب میآید که فقط سیستم بهدرستی کار نمیکرد اما مشخص نبود که چرا این اتفاقها افتادهاند. سیستمی که متخصصان کامپیوتر در اینجا ارائه کردند ارائه کدهای خطا بود. در واقع وقتی یک سیستم دچار مشکل میشد با ارائه یک کد به شما میگفت که داستان از چه قرار است و کجای کار مشکل دارد.
در مورد وبسایتها هم باید گفت که این کدها وارد میدان شدند و کار را برای ما ساده کردند. اگر بخواهیم دقیق بگوییم که چند نوع کد خطا داری باید بگوییم که کدهای بسیار زیاد و مختلفی وجود دارد اما آنچه که استاندارد است و ما در را خود با آنها مواجه میشویم، دو دسته کدهای خانواده ۴۰۰ و خانواده ۵۰۰ هستند که بهصورت 4xx و 5xx هم معرفی میشوند.
کدهای ۴۰۰ کدهای سمت کاربر هستند و در واقع وقتی نمایش داده میشوند که مشکل از سمت کاربر باشد و سایت درست کار میکند. از معروفترین این کدها میتوان به کد ۴۰۴ برای آدرسهای اشتباه و یا صفحات حذف شده اشاره کرد؛ اما در مورد کدهای 5xx که کد ۵۰۰ هم جزو آنها است باید گفت که این کدها کدهای سمت سرور هستند. به این معنا که دلیل نمایش این کد دقیقاً مشکل سرور سایت است و مشکلی که برای آن ایجاد شده است.
وقتی که سایت شما یا سایتی که به آن مراجعه کردهاید ارور ۵۰۰ میدهد به این معنا است که سایت از داخل دچار مشکل شده است که علت ارور 500 متفاوت خواهد بود، اما آنچه که مسجل است این است که این سایت به دلیلی که از سمت سرور است نمیتواند به کاربران خود سرویسدهی کند.
این مورد میتواند بهصورت موقتی باشد و معمولاً وقتی سایت ما داون میشود، بعد از چند دقیقه درست خواهد شد. البته این در صورتی است که مشکل واقعاً از سرور باشد. در خیلی از موارد سرور ما سالم است و مشکل از فایلهای سایت ما است که باید فکری به حال کنیم و این موضوع بهصورت خودکار رفع نخواهد شد. در بخش بعدی در مورد اینکه علت ارور ۵۰۰ و این خرابی سایت چه مواردی میتواند باشد صحبت خواهیم کرد.
علت ارور ۵۰۰ چیست؟
درصورتیکه شما صرفاً یک کاربر هستید که میخواهید در مورد اینکه چرا سایت موردنظر شما به شما این ارور را میدهد اطلاعاتی داشته باشید و علت ارور 500 روی سایت مربوطه خود را میخواهید باید گفت که یک خرابی در سرور باعث این ارور شده است، اما اگر یک وب مستر هستید که سایت خودتان این ارور را میدهد باید گفت که شما باید برای علت ارور 500 دنبال جوابهایی واضحتر باشید. جوابی که در این بخش میخواهیم به آن رسیدگی کنیم.
عموم مواردی که میتوان برای علت ارور 500 ارائه کرد حول این موضوع میچرخد که کدهای PHP سایت شما بنا بر دلایلی که میتواند مختلف باشد نمیتواند بهدرستی اجرا شود و وب سرور نمیتواند نتیجه قابل قبولی را با دنبالکردن جریان کاری همیشگی سایت شما به دست آورد. این موضوع که این موارد کداماند و چرا این اتفاقات برای سایت ما میافتد یک لیست بلند را ایجاد میکند که مهمترین عوامل آن ازاینقرار است:
تعداد درخواستهای بالا
یکی از مهمترین عواملی که میتوان آن را بهعنوان بیشتری و شایعترین علت ارور 500 مطرح کرد این است که همزمان درخواستهای مختلف و متنوعی در تعداد بسیار بالا به سرور شما ارسال میشود.
این درخواستها میتوانند کاربرانی باشند که از یک کمپین تبلیغاتی به سایت شما آمدهاند و یا یک حمله به سایت شما باشد و یا حتی بهخاطر یک مطلب ترند که در سایت شما قرار گرفته است و واقعاً کاربران برای دیدن آن به سایت میآیند.
وقتی که کاربران زیادی درخواستهای متعددی را روی سرور شما داشته باشند، میزان استفاده از منابع توسط سرور بالاتر رفته و سرور بهنوعی هنگ میکند. در این حالت نمیتواند آنچه که کاربران خواسته بودند را انجام دهد و ارور ۵۰۰ نتیجهای است که از چنین وضعیت به کاربران ارسال میشود. درصورتیکه در ساعات شلوغی این اتفاق برای سایت شما زیادی میافتد باید گفت که یا افت کیفیت در هاست خود داشتهاید و یا اینکه این هاست دیگر جوابگوی ترافیک سایت شما نمیباشد و باید به فکر یک سرویس میزبانی بهتر و با منابع بیشتر برای سایت خود باشید.
مشکل در حافظه PHP
زبان برنامهنویسی php همان زبانی است که سیستم مدیریت محتوای وردپرس و خیلی از سایتها از آن استفاده کردهاند تا آنچه که در پسزمینه سایت اتفاق میافتد را راهاندازی کنند. علاوه بر وردپرس باید گفت که نزدیک به ۸۰ درصد سایتهای موجود نیز از این زبان برای طراحی بک اند (Back-end) خود استفاده کردهاند.
یکی از مواردی که باید در مورد این زبان برنامهنویسی در نظر گرفت این است که زبان php در زمره زبانهای مفسری است، به این معنی که وقتی سیستم بخواهد یک کد را که با این زبان نوشته شده است را اجرا کند باید این کار را بهصورت خط به خط انجام دهد. این خط به خط اجرا شدن باعث میشود که کدها همگی در حافظه سیستم خیره شوند تا به یک سطح منطقی از اجرا برسند.
تحت این شرایط اگر حافظه سیستمی ای که سرور برای اجرای php در نظر گرفته کم باشد و کدهای ما طولانی و زیاد باشند، سیستم نمیتواند بهدرستی همه آنچه که برای کارکرد صحیح در اختیار دارد را در این حافظه جای دهد و بخشی از پردازشهایی که php میخواست روی دادهها انجام دهد از بین رفته و سیستم نمیتواند به کار خود ادامه دهد. اینجاست که یک ارور داخلی ایجاد میشود که در واقع علت ارور 500 نمایشدادهشده به کاربر خواهد بود.
در واقع باید گفت خیلی از دلایل دیگری هم که برای علت ارور 500 بررسی کی شود این دلیل را در پسزمینه خود دارند. کدهای php باید بهصورت استاندارد با فضایی که سایت قبلاً کار میکرده است هم کار کنند.
مگر اینکه تغییری جدید در آنها ایجاد شده باشد که میتواند بر اثر نصب افزونه و آپدیت قالب و مواردی ازایندست اتفاق افتاده باشد. در ادامه بیشتر در مورد این موارد صحبت خواهیم کرد.
نصب افزونههای جدید
در خیلی از موارد ممکن است با نصب یک افزونه تازه روی سایت و پیادهسازی یک قابلیت جدید سروکله ارور ۵۰۰ روی سایت ما پیدا میشود. علت ارور ۵۰۰ در این موارد این است که فایلهای افزونه با سایر فایلهای php به مشکل میخورد و این موضوع در وردپرس طبیعی است. درصورتیکه این اتفاق برای شما افتاده است باید یا افزونه خود را بازبینی کرده و یا اینکه به سراغ استفاده از افزونههای دیگری بروید.
این نوع از تداخلها که بتوان آن را علت ارور ۵۰۰ دانست معمولاً برای افزونههای استانداردی که شما آنها را از مخزن وردپرس دانلود میکنید پیش نمیآیند و درصورتیکه از افزونههای شخصیسازیشده استفاده کرده باشید احتمال این موضوع بیشتر خواهد بود.
تداخل سایت با وب سرور
در بعضی از مواقع ممکن است که سایت شما کاملاً سالم باشد، اما با ارورهای ۵۰۰ مواجه شوید. در این مورد باید گفت که تداخل بعضی از فایلهای سایت و وب سرور که عموماً در مورد توابع php است میتواند یکی دیگر از مواردی باشد که علت ارور ۵۰۰ در سایت شما است. در بعضی از وب سرورها مانند NginX این مورد بیشتر دیده میشود.
شاید با گذشت مدت زیادی از کارکرد سایت خود، تازه با این مشکلات مواجه شوید، این موضوع به این دلیل است که این تداخلها در شرایط خاص پیش میآید.
ممکن است که علت ارور ۵۰۰ بر اثر تداخل با وب سرور به این دلیل باشد که سایت شما بزرگ شده باشد و فایلهای هسته آن زیادی شدهاند و یا اینکه سایتهایی که روی این سرور اشتراکی قرار گرفتهاند زیاد شده و سرور نیروی پردازشی قبلی خود را نداشته باشد. درهرصورت این موضوع که بعد از مدتی سروکله این تداخلها با وب سرور در سایت شما پیدا شود کاملاً طبیعی است.
آپدیتهای ناقص
یکی دیگر از موضوعات و مواردی که میتواند بهعنوان یک دلیل شایعتر در بین تمام گزینههایی که برای علت ارور ۵۰۰ مطرح میشود به آن اشاره کرد، آپدیتهای ناقص هسته وردپرس، قالبها و یا افزونهها است. در مورد خود هسته وردپرس باید گفت که هرازگاهی وردپرس آپدیتهایی را ارائه میکند که البته باید گفت بعضی از آنها برای نصب ضروری نیستند.
اما در صورت که شما در زمان بعدی که سایت و سرور شما با ترافیک بالایی درگیر است، روی لینک هم اکنون بهروزرسانی کنید که در پیشخوان به شما نمایش داده میشود کلیک کنید، ممکن است بخشی از این آپدیتها ازدسترفته و سایت شما با ارور ۵۰۰ مواجه شود. البته این موضوع خیلی شایع نیست، اما در مورد آپدیتهای قالب باید گفت که زیادی با آن مواجه میشویم.
این آپدیتها میتواند تداخلهای زیادی را داشته باشد و ازآنجاکه بعضاً با ویژگیهای استفاده توسط شما و شخصیسازیشده برخورد میکند، امکان بالارفتن تداخل زیادی خواهد بود. در این حالت لازم است که شما قالب خود را از هاست غیرفعال کرده و آن را مجدداً بهصورت کنترل شده نصب کنید و حتی ممکن است کار شما به پشتیبانی قالب و موارد اینچنینی هم برسد.
این موارد را میتوان بهعنوان مهمترین و همینطور شایعترین موارد علت ارور ۵۰۰ مطرح کرد، اما سؤال اساسی اینجاست که درصورتیکه با این ارورها مواجه شدیم، چطور باید از شر آنها خلاص شویم و راهحل ما چه خواهد بود.
یاداوری: آیا تاکنون با خطای 413 مواجه شدهاید؟ خرسندیم که اعلام کنیم در یکی از مقالات بلاگ افضلی وردپرس درباره خطای 413 در وردپرس بهطور کامل صحبت کردیم و گفتیم علت بروز خطای 413 Request Entity Too Large این است که حجم فایلی که میخواهید آپلود کنید، بیشتر از حجم مجاز است. مطالعه این مقاله قطعا به اطلاعات شما خواهد افزود.
روش رفع ارور ۵۰۰
در مورد ارورهای ۵۰۰ باید گفت که شما باید مستقیماً وارد عمل شده و همه موارد را کنترل کنید. درصورتیکه از یک سایت غیر وردپرسی استفاده میکنید، لازم است که لاگ سرور خود را کنترل کرده و با برنامهنویسان و تیم توسعه خود تماس بگیرید. اما برای سایتهای وردپرسی دستورالعملهای خاصی وجود دارد که باید آنها را رعایت کنید. در واقع میتوان گفت که این دستورالعملها برای خیلی از ارورها به همین روش است و یک روش دائمی برای وردپرس به حساب میآید.
در واقع با این کار شما به دنبال پیداکردن این خواهید بود که علت ارور ۵۰۰ نمایشدادهشده در سایت شما چیست. برای این کار باید مسیر زیر را دنبال کنید:
گام اول – از وجود ارور مطمئن شوید
ابتدا لازم است که چند بار سایت خود را رفرش کرده و با مرورگرهای مختلف این کار را انجام دهید، همینطور لازم است که کش مرورگر خود و همینطور کوکیها را پاک کنید و از اول کار را دنبال کنید. بهتر است یکبار هم IP خود را با استفاده از VPN تغییر دهید.
درصورتیکه در هرکدام از این شرایط سایت خود را سالم مشاهده کردید باید گفت که خود سایت سالم است و بهتر است به آن دست نزنید. در این حالت علت ارور ۵۰۰ میتواند صرفاً تداخلهای بین سرورها در اینترنت و زیرساخت انتقال باشد.
گام دوم – افزونهها را غیرفعال کنید
همانطور که گفتیم افزونهها میتوانند یکی از دمدستیترین مواردی باشند که علت ارور ۵۰۰ سایت شما خواهد بود و اولین کاری که باید روی سایتی که این ارور را میدهد انجام دهید این است که افزونهها را غیرفعال کنید.
وقتی که سایت شما ارور ۵۰۰ میدهد طبیعتاً این کار از طریق پیشخوان میسر نیست و باید به سراغ هاست خود بروید. در هاست میتوانید از مسیر public_html > wp-content > plugins بهتمامی افزونههایی که در سایت خود دارید دسترسی داشته باشید، برای اینکه همه آنها را غیرفعال کنید باید نام پوشه پلاگین را تغییر دهید.
درصورتیکه حدس میزنید این ارور مربوط به یکی از افزونههایی است که تازه آن را نصب کردهاید میتوانید این پوشه افزونه را با نام آن پیدا کرده و نام آن را تغییر دهید، با این تغییر نام افزونه غیرفعال خواهد شد.
بعدازاین کار سایت خود را کنترل کنید و ببینید که ارور رفع شده است یا خیر. درصورتیکه علت ارور ۵۰۰ از افزونهها باشد، سایت بالا خواهد آمد. در این حالت باید یکییکی افزونهها را کنترل کرده تا افزونه دردسرساز را از میان آنها بیرون بکشید. اگر مشکل شما با این کار برطرف نشده بود باید به سراغ قالبها بروید.
نکته: در مورد انتقال سایت وردپرسی از لوکال به هاست باید گفت که شما از هر روشی استفاده کنید با یک روند طولانی طرف هستید و مراحل زیادی دارد که باید کار را بادقت بیشتر دنبال کنید. اولین کاری که باید برای این انتقال انجام گیرد، این است که شما افزونه داپلیکیتور را روی سایت خود در لوکالهاست نصب کنید.
گام سوم – تغییر قالب به قالب پیشفرض
اگر غیرفعالکردن افزونهها نتوانست سایت شما را درست کند، علت ارور ۵۰۰ را در قالب جویا میشویم، افزونهها را بهصورت غیرفعال باقی بگذارید که سایت شما هم سبکتر عمل کند و به سراغ پوشه قالبها بروید.
برای دسترسی به این پوشه باید به مسیر public_html > wp-content > themes بروید. در این پوشه میتوانید چند پوشه دیگر که نام هرکدام از آنها نام یکی از قالبهای سایت است را مشاهده کنید. نام پوشه قالب فعال خود را تغییر داده تا قالب سایت شما به قالب پیشفرض تغییر کرده و سایت خود را مجدداً کنترل کنید.
اگر با این موارد هم مشکل برطرف نشد لازم است که حافظه php را افزایش دهید که البته باید گفت این کار عموماً در اختیار پشتیبانی است.
گام چهارم – تماس با پشتیبانی هاست
وقتی که این موارد نتواند سایت شما را بازگرداند احتمال اینکه علت ارور 500 خود سرور باشد زیاد است، بهتر است در این حالت یک تیکت به هاستینگ خود بزنید یا اگر حس میکنید که این روند طولانی خواهد بود، با آنها تماس بگیرید. درصورتیکه مشکل شما از طرف پشتیبانی برطرف شده و دوباره این اتفاق افتاد از پشتیبانی خود درخواست کنید که حافظه php را افزایش دهند تا سرور بداند که برای این سایت باید حافظه بیشتری را در نظر بگیرد.
نتیجهگیری
در این مقاله از افضلی وردپرس در مورد اینکه علت ارور ۵۰۰ چیست صحبت کردیم و دیدیم که ارور ۵۰۰ یک ارور داخلی و مربوط به خود سایت است که میتواند بنا به دلایل مختلفی مانند تداخل افزونه، تداخل قالب، سنگین بودن سایت و یا مشکلات خود سرور ایجاد شود. برای رفع این ارور لازم است که ابتدا از صحت آن مطمئن شده و بعد گامهایی که برای ارور گیری در وردپرس انجام میشود را انجام دهید.
درصورتیکه در رابطه با این ارور و مشکلاتی که برای سایت شما پیشآمده است سؤالی دارید در نظرات همین مقاله آن را بازگو کنید تا در سریعترین زمان پاسخ آن را دریافت کنید.
اولین کامنت را شما بگذارید!