دلایل ایجاد internal server error

دلایل عمده ی ایجاد خطای 500 در سرور لینوکس از قرار زیر است:

1 - سطح دسترسی فایل ها یا پوشه ها:

در سرور های طلاهاست در صورتی که سطح دسترسی فایل ها یا پوشه ها را 777 (قابل خواندن توسط همه) قرار دهید، باعث بروز خطای فوق می شود.

راه حل :

سطح دسترسی استاندارد پوشه ها : 755 و سطح دسترسی استاندارد فایل ها 644 است. این تنظیمات را برای تمام فایل ها و فولدرهایی که سطح دسترسی 777 دارند اعمال کنید. توجه داشته باشید پوشه ها و فایل ها با دسترسی 755 و 644 نیز قابل نوشتن هستند، نیازی نیست آنها را به 777 تغییر دهید.

برای تغییر سطح دسترسی در File Manager روی نام فایل یا فولدر (های) مورد نظر کلیک راست کنید و گزینه ی Change Permissions را انتخاب کنید.

2 - استفاده از دستورات غیر مجاز در فایل .htaccess

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

در سرورهای طلاهاست از این دستورات در فایل .htaccess استفاده نکنید:

php_value

php_flag

Options +FollowSymLinks

Options -FollowSymLinks

Options +ExecCGI

Options -ExecCGI

 Options ALL

 

 

 

راه حل:


بجای Options +FollowSymLinks باید از Options +SymLinksIfOwnerMatch استفاده کنید. و دیگر مقادیر مشکل زا را حذف کنید

اگر از Option All بهمراه دیگر دستورات استفاده میکنید، (مثلا : Option All - Indexes) باید عبارت All را حذف کنید. (بجای Option All -Indexes از Option -Indexes استفاده کنید). برای دیگر دستوراتی که با Option All همراه هستند هم به همین ترتیب All را حذف کنید.

توجه : اگر فایل .htaccess را در File Manager نمی بینید اینجا را ببینید: نمایش فایل .htaccess در File manager

 

3 - دستورات اشتباه در فایل های php

اگر اشتباهات دستوری در فایل های php وجود داشته باشد (Syntax Error) با خطای 500 مواجه می شوید. معمولاً اگر با این خطا مواجه شوید، دلیل خطا و جزئیات مربوطه در فایل error_log ذخیره می شود.

4 - استفاده بیش از حد از منابع

در سرویس های طلاهاست اگر بیش از حد مجاز، از منابع رم سرور استفاده کنید، ممکن است با خطای 500 مواجه شوید. مصرف منابع را می توانید در سی پنل و در بخش Resource Usage ببینید

 

5 - در پایان اگر هنوز دلیل خطا را نمی دانید، سری به سی پنل بزنید، در cPanel، بخش Error Logs، و یا در File Manager در فایل error_log دلیل خطا نوشته شده است.