ارور ۵۰۰ Internal Server Error چیست

برخی اوقات سوالی پش می آید که ارور ۵۰۰ internal server error چیست ؟

یکی دیگر از پیام های خطایی که هنگام مرور وب ممکن است با آن مواجه شویم ارور ۵۰۰ Internal Server Error می باشد.

ارور ۵۰۰ internal server error چیست می تواند دلایل گسترده ای داشته باشد

این مقاله در راستای ادامه پیام های خطا می باشد :

آموزش رفع خطای ۴۰۰ در مرورگر

پیغام خطای ۴۰۱ چیست

پیغام خطای ۴۰۳ forbidden

ارور ۴۰۴ چیست

ارور ۴۰۸ Request Timeout چیست

در ادامه ابتدا به بیان خطای ۵۰۰ internal server error چیست می پردازیم.

سپس به بیان انواع مشکل در رابطه با خطای ۵۰۰ و نحوه رفع آنها اشاره داریم.

در آخر نیز به خلاصه و چکیده ای از کلیات مقاله می پردازیم.

ارور 500 Internal Server Error چیست

ارور ۵۰۰ Internal Server Error چیست

خطای ۵۰۰ Internal Server Error چیست

همان طور که اشاره شد، مواجه شدن با خطای ۵۰۰ می تواند دلایل زیادی داشته باشد.

از رایج ترین عوامل بروز این خطا می توان به موارد زیر اشاره کرد:

۱- ایجاد سزح نادرست دسترسی و Permission بر روی دایرکتوی ها و فایل ها

۲- کدهای نادرست در فایل php.ini یا htaccess.

۳- ownership ها و مالکیت های نادرست در هاست

۴- درخواست های نامعتبر از طرف اسکریپت سایت مورد نظر

و…

بسیاری از کاربران با توجه به نام پیام خطا، فکر می کنند که مشکل از فقط می تواند از سرور باشد.

ولی باید به این نکته توجه داشت که با کانفیگ و پیکربندی مجدد سایت، این مشکل معمولا قابل حل می باشد.

نکته قبل توجه این است که در فایل Error Logs موجود در File Manager هاست ، هنگام مواجه شدن با خطای ۵۰۰ ، اطلاعاتی درمورد عوامل این خطا موجود می باشد.

این اطلاعات شامل تاریخ و جزئیات کامل می باشد.

ارور 500 Internal Server Error چیست - خطای 500 Internal Server Error چیست

ارور ۵۰۰ Internal Server Error چیست – خطای ۵۰۰ Internal Server Error چیست

عوامل بروز خطای Internal Server Error 500

در ادامه سعی بر شناساندن عواملی پیرامون خطای ۵۰۰ Internal Server Error داریم:

  • Bad Permission, Writable by Group

خطایی است که توسط سطح دسترسی و Permission بیش از حد مجاز پوشه ها رخ می دهد.

کد این خطا در فایل Error Logs به صورت زیر می باشد:

[Sun Jun 05 12:03:22 2012] [error] [client 66.249.72.82] SoftException in Application.cpp:601: Directory “/home/exampleuser/public_html” is writeable by group

این خط کد بیانگر این است که سطح دسترسی پوشه ها بیش از حد زیاد است.

و مقدار آن باید از ۷۷۷ به ۷۵۵ تغییر کند تا قابل قبول شود.

همین طور مقادیر مجاز برای :

پوشه ها و دایرکتوری ها ۷۵۵

اسکریپت های اجرایی شامل فایل cgi-bin مقدار ۷۵۵

فایل های چند رسانه ای و متنی (مانند HTML) دارای سطح دسترسی ۶۴۴ می باشد.

لازم به ذکر است که سطوح دسترسی را می توان از قسمت File Manager واقع در بخش Files در Cpanel ،

یا سرویس FTP

و یا از طریق chmod در SSH/Bash تغییر داد.

Bad .htaccess, Invalid code, command, or syntax

برخی اوقات نیز کاربران ممکت است تغییرانی را در فایل htaccess. انجام داده و خطوطی را اضافه کنند که به آن اشرافی ندارند.

این کار آنها نیز سبب رخ دادن خطای ۵۰۰ می شود.

در این حالت بهتر است که ابتدای خطوط وارده، علامت # را قرار دهیم تا توضیحات Commentی تبدیل شوند.

مانند مثال زیر:

قطعه کدی از فایل اصلی:

DirectoryIndex default.html
AddType application/xhttpdphp5 php

قطعه کد ویرایش شده از فایل اصلی به شیوه کامنتی ( Comment ) :

DirectoryIndex default.html
<strong>#AddType application/x-httpd-php5 php

به دلیل مشکل دار بودن خطوطی که با php_flag آغاز می شوند، بهتر است آنها را نیز کامنتی کنیم :

Other common .htaccess errors

ارور 500 Internal Server Error چیست - عوامل بروز خطای Internal Server Error 500

ارور ۵۰۰ Internal Server Error چیست

رفع خطای ۵۰۰ Internal Server Error

علاوه بر موارد مذکور، ارور ۵۰۰ می تواند شامل مشکلات زیر نیز باشد :

۱- مشکل FollowSymlinks

۲- مشکل Syntax Not Closed

۳- مشکل ForceType

۴- مشکل php_value

حال در ادامه به شرح و بیان به منظور رفع هرکدام از مشکلات فوق می پردازی.

حل مشکل ۵۰۰ Internal Server Error

۱- مشکل FollowSymlinks

هنگام مواجهه با این مشکل، خطایی مانند زیر نمایش داده می شود :

در این هنگام دو راهکار وجود دارد :

۱- حذف خط مربوطه

۲- جایگزینی دستور SymlinksIfOwnerMatches به جای FollowSymlinks

ارور 500 Internal Server Error چیست - حل مشکل 500 Internal Server Error

ارور ۵۰۰ Internal Server Error چیست – حل مشکل ۵۰۰ Internal Server Error

۲- مشکل Syntax Not Closed

هنگام مواجهه با این مشکل، خطایی مانند زیر نمایش داده می شود :

[Sun Jun 05 12:11:38 2011] [alert] [client 66.249.72.82] /home1/examplec/public_html/.htaccess: /home1/examplec/public_html/.htaccess:3: ExampleRule/Module> was not closed.

در این مورد نیز دو رهکار وجود دارد :

۱- حذف خط مربوطه

۲- قرار دادن درست دستور مانند مثال زیر :

نکته : تعداد کمی از خطاها بر اثر دستورات اشتباه در فایل htaccess. رخ می دهد.

معمولا خود پیام های خطا در عیب یابی خطا راهنمایی قابل توجهی می کنند.

حال وقت آن رسیده که سری به خطاهای رخ دهنده در فایل php.ini اشاره کنیم.

ارور 500 Internal Server Error چیست - حل مشکل 500 Internal Server Error

ارور ۵۰۰ Internal Server Error چیست – حل مشکل ۵۰۰ Internal Server Error

به طور کلی خطاهایی که معمولا در فایل php.ini رخ می دهند به دو دسته تقسیم می شوند:

۱- ForceType

۲- php_value

حال به تشریح آنها می پردازیم

۱- مشکل ForceType

برای رفع این مشکل بدین صورت عمل می کنیم :

زمانی که از فایل های دارای پسوند یا بدون پسوند که نسبت به پسوندهای رایج متفاوت است استفاده می کنیم،

می توان از ForceType در فایل htaccess. استفاده کرد و روش استفاده از آن را در سرور تعیین نمود.

گفتنی است که استفاده از ForceType برای تمامی فایل های موجود در پوشه htacceess. و سرورهای بدون phpsuexec امکان پذیر است.

مثلا زمانی که فایلی با نام item مانند Nucleus برای استفاده از FancyURL موجود باشد، و قصد تعریف آن را در سرور به عنوان فایل php داریم ، می توانید از کد زیر در فایل .htaccess استفاده کرد :

البته سرور هایی که دارای phpsuexec می باشند، با دستور فوق خطای Internal Server Error نمایش داده می شود ، که برای حل این مشکل  از SetHandler به جای ForceType در فایل .htaccess استفاده می کنیم.

مانند :

ارور 500 Internal Server Error چیست - حل مشکل 500 Internal Server Error - مشکل ForcType

ارور ۵۰۰ Internal Server Error چیست – حل مشکل ۵۰۰ Internal Server Error – مشکل ForcType

۲- مشکل php_value

به منظور بازنویسی تنظیمات در php.ini در سرور های بدون phpsuexec می توان از php_value در فایل .htaccess استفاده کرد.

در سرورهای دارای phpsuexec استفاده از دستور فوق سبب ایجاد خطای Internal Server Error می شود.

برای رفع این خطا می توان تمام تنظیمات مربوط به php که در فایل php.ini در پوشه htaccess. می باشد را تغییر دهید.

مثلا اگر بخواهید مقدار short_open_tag را off قرار دهید ، از دستور زیر باید استفاده کرد:

short_open_tag? = off

ولی با اسفاده از فایل php.ini به صورت زیر می شود :

[PHP]
short_open_tag = Off
ارور 500 Internal Server Error چیست - حل مشکل 500 Internal Server Error - مشکل php_value

ارور ۵۰۰ Internal Server Error چیست – حل مشکل ۵۰۰ Internal Server Error – مشکل php_value

حال که آموختیم که چگونه پیام خطای ۵۰۰ در سایت را رفع کنیم،

در ادامه می خواهیم به بررسی و رفع این پیغام خطا در وردپرس بپردازیم :

ارور ۵۰۰ در وردپرس – رفع مشکل Internal Server Error

همان طور که پیشتر دانستیم، ارور ۵۰۰ زمانی رخ می دهد که وب سرور سایت قادر به پردازش و بارگذاری اطلاعات نباشد.

حال در ادامه می خواهیم به موارد اصلی این خطا حوزه وردپرس اشاره کنیم.

اینکه چطور خطای اصلی را نمایش داده و در ادامه آن به بررسی روش های حل مشکل خطای ۵۰۰ در وردپرس بپردازیم.

نمایش خطای اصلی ارور ۵۰۰ Internal Server Error

به منظور نمایش خطای اصلی به جای خطای ۵۰۰ نیاز به تغییر display_error در وب سرور خود داریم.

این مقدار باید on باشد تا خطای اصلی به حای عدد ۵۰۰ نمایش داده شود.

علاوه بر این کار نیازمند فعال سازی دیباگ و اشکال زایی وردپرس نیز هستیم.

لازم به ذکر است که تغییر مقدار display_error نیازمند اجازه مدیر سرور هستیم. یعنی خود مدیر سرور باید این تنظیمات را انجام دهد.

حال اگر به هر دلیلی نتوانیم این مقدار را به on تغییر دهیم،

روش‌های حل ارور ۵۰۰ وردپرس

از روش های تجربی استفاده می کنیم که در زیر به چند مورد از آن اشاره داریم.

ارور 500 Internal Server Error چیست - روش‌های حل ارور 500 وردپرس

ارور ۵۰۰ Internal Server Error چیست – روش‌های حل ارور ۵۰۰ وردپرس

بررسی فولدر htaccess.

ابدا وارد C panel شده و در پوشه root سایت، فولدر htaccess. را پیدا کرده و با ویرایشگر باز می کنیم.

ابتدا از تمامی کدها، در جایی یک کپی گرفته و سپس تمامی آنها را حذف می کنیم.

حال به صفحه پیشخوان مدیریت وردپرس رفته و از بخش تنظیمات، پیوندهای یکتا را انتخاب می کنیم.

حال گزینه ذخیره تنظیمات را در این صفحه کلیک می کنیم.

اگر پس از انجام این کار سایت بدون مشکل باز شد، پس مشکل درست شده است.

حال تک تک خط کدهای htaccess. را بر می گرداینم تا ببینیم مشکل از کجا بوده است.

غیر فعال سازی افزونه‌های فعال وردپرس

در هر محیط CMS ی تعدادی پلاگین و افزونه داریم.

هنگام مواجهه با این خطا لازم است که تک تک افزونه های فعال را غیرفعال کنیم تا ببینیم مشکل از کدوم افزونه بوده است.

لازم به ذکر است که زمانی که این روش را انجام دادیم و خطا از بین رفت،

نمی توان به طور حتم آن افزونه را مقصر دانست چرا که می تواند مشکل از هاست نیز باشد.

زیرا برخی افزونه های فضای هاست زیادی اشغال می کنند.

تغییر قالب به پوسته پیش فرض وردپرس

در قسمت پیشخوان وردپرس، به قسمت نمایش رفته و پوسته ها را انتخاب می کنیم.

قالب های پیش فرض مانند ۲۰۲۰ وردپرس را انتخاب می کنیم.

اگر خطا برطرف شد، پس مشکل از کدنویسی قالب شما است.

افزایش حافظه وردپرس

برخورد با این خطا ممکن است به خاطر کمبود فضای حافظه سایت نیز باشد.

برای این منظور در فایل های وردپرس سراغ فایل wp-config.php رفته و آن را با ویرایشگر باز می کنیم.

دستور زیر را در ابتدای کدها قرار می دهیم:

define('WP_MEMORY_LIMIT', '700M');

این کد میزان فضای مصرفی وردپرس رابه ۷۰۰ مگابایت تغییر داده که می تواند برای رفع خطای ۵۰۰ موثر باشد.

درصورت عدم افزایش حافظه وردپرس با دستور بالا، باید به هاست خود اطلاع دهید که از طریق فایل php.ini بتواند max php memory را افزایش دهد.

مشکل فایل های وردپرس

ممکن است فایل های اصلی وردپرس خراب باشند.

برای این منظور فایل های وردپرس را بروزرسانی نمایید.

تماس با هاست

اگر از تمامی مراحل بالا به نتیجه ای نرسیدید، حتما با هاستینگ خود تماس بگیرید و از آنها تقاضای بررسی و رفع مشکل خود کنید.

ارور 500 Internal Server Error چیست - روش‌های حل ارور 500 وردپرس

ارور ۵۰۰ Internal Server Error چیست – روش‌های حل ارور ۵۰۰ وردپرس

ارور ۵۰۰ Internal Server Error چیست – خلاصه

ارور ۵۰۰ Internal Server Error مشخص نمی کند که دقیقا مشکل از کجاست.

و نیاز به رفع برخی ارورهای خانواده ۵XX است تا پیام خطای ۵۰۰ رفع شود.

گاهی ممکن است این پیام خطا به دلیل مشکل عدیده ای چون موارد زیر باشد:

مشکلات سیستم

اینترنت کاربر

کوکی و کش مرورگر

و گاهی نیز به خاطر مسائلی همچون :

مشکلات کدنویسی و پلاگین ها، تنظیمات هاست و سرور سبب شوند که با این پیام برخورد کنیم.

گردآورنده : علی کاتوزیان


مطالب مرتبط :

آموزش رفع خطای ۴۰۰ در مرورگر

پیغام خطای ۴۰۱ چیست

پیغام خطای ۴۰۳ forbidden

ارور ۴۰۴ چیست

ارور ۴۰۸ Request Timeout چیست


ارور ۵۰۰ Internal Server Error چیست

خطای ۵۰۰ internal server error | ارور ۵۰۰ در کروم | ارور چیست | رفع ارور ۵۰۰ در گوگل | آموزش رفع ارور ۵۰۰ | ارور ۵۰۰ در سی پنل | خطای ۵۰۰ در کروم | کد ۵۰۰ | ارور ۵۰۰ چیست | error 500 | خطاهای وردپرس | پیغام خطای ۵۰۰ | پیغام خطای ۵۰۰ چیست | how do i fix error 500 | خطای ۵۰۰ در مرورگر | how do i fix error 500 in chrome | چگونه خطای ۵۰۰ را برطرف کنیم | ارور ۵۰۰ | ارور ۵۰۰ در سایت | ارور ۵۰۰ در مرورگر | ارور ۵۰۰ چیست | پیغام خطا ۵۰۰ | پیغام خطای ۵۰۰ |


ارور ۵۰۰ Internal Server Error چیست