500 xətasının niyə baş verdiyini öyrənmək üçün qeydləri yoxlayın. error.log faylında problemin səbəbini göstərən bir giriş ola bilər. Ən ümumi variantları nəzərdən keçirin.
Resurs çatışmazlığı
Səbəb budursa, problem çox sadə şəkildə həll olunur - resursları artırmaq üçün hosting provayderi ilə əlaqə saxlayın.
İşləməyən skriptlərin olması və ya onların icrası üçün məhdud vaxt
Server skriptləri müəyyən müddət ərzində, çox vaxt bir dəqiqə ərzində emal edə bilmirsə, 500 Daxili Server Xətası baş verir.
Həmçinin, server parametrlərində göstərilən vaxt skripti yerinə yetirmək üçün yetərli deyilsə, vebmasterlər Apache-dən CGI skripti işlədirlərsə, oxşar xəta ilə qarşılaşa bilərlər.
Skriptlər əvvəllər işləyirdisə və məsələn, başqa hostinqə keçərkən problemlər yaranıbsa, problem başqa səbəblərdən yarana bilər. Məsələn, serverin sorğuları bloklaması faktı.
Giriş hüquqlarını təyin edərkən xətalar
Fayl icazələri 444 və ya 644 olmalıdır. Qovluqlar üçün CHMOD olmamalıdır755-dən fərqlidir, yəni yalnız resursun sahibi onlara baxa bilər. Skript icazələri 600-ə təyin edilməlidir. Əks halda, təhlükəsizlik səbəbi ilə server işlək olsa belə, skriptə girişi bloklayır.
500 xətanın səbəbi budursa, icazələri dəyişmək üçün FTP menecerindən istifadə edin. Filezilla bu funksiyalarla əla iş görür.
.htaccess faylında dəstəklənməyən direktivlər var
.htaccess faylının saytın kökündə və ya başqa yerdə olub olmadığını yoxlayın. Əgər varsa, onu istənilən mətn redaktoru ilə açın. Siz Notepad istifadə edə bilərsiniz.
SuPHP üzərində işləyən serverdən istifadə edirsinizsə, 500 xətası görünə bilər, yəni. php.ini dəstəyi..htaccess faylında PHP mühit parametrlərini dəyişdirən direktivlər varsa, problemlər yarana bilər. Ən ümumi direktivlər php_admin_flag, php_flag və php_value-dir.
Qlobal dəyişənlər çox vaxt təlimat kimi daxil edilir - Qlobalları Qeydiyyatdan keçirin.
Bu problem çox sadə şəkildə həll olunur - arzuolunmaz parametrlər sadəcə silinə bilər. Başqa bir seçim, xəttin əvvəlinəişarəsi əlavə edərək onları şərh etməkdir. Funt işarəsi ilə direktivin adı arasında boşluq olmalıdır.
Şərh edilmiş parametrləri mütləq yerinə yetirmək lazımdırsa, onlar php.ini faylında göstərilə bilər. Bu halda, php_admin_flag, php_flag və php_value istifadə etməyinizə ehtiyac yoxdur - sadəcə olaraq onları "lazım parametr adı=On" prinsipinə uyğun təyin edin.
PHP ölümcül xəta
Əgər PHP CGI kimi işləyirsə, bu problem yarana bilər. Bu halda, proqram kodunu diqqətlə yoxlamaq, diaqnoz qoymaq və səhvləri düzəltmək lazımdır. Nəzərə alın ki, CGI skript sətir sonları Windows formatında (r\n) olmamalı, lakin UNIX formatında (n) olmalıdır.
Təklif olunan həll yollarından heç biri xətanı həll etmirsə, ev sahibi ilə əlaqə saxlayın. 500 xətasının nə vaxt və hansı hərəkətlərdən sonra yarandığını ona ətraflı izah edin. Ondan problemin səbəblərini göstərməsini və onu aradan qaldırmağa kömək etməsini xahiş edin. Ev sahibi http 500 Daxili Server xətasının nə üçün baş verdiyini anlaya bilmədikdə, istifadə etdiyiniz CMS-in dəstəyi ilə əlaqə saxlayın. Məktubda bütün təfərrüatları daxil etməyinizə əmin olun, o cümlədən. - hostinq provayderinin vəziyyətinizlə bağlı şərhləri.