Глава 18 · 18.1
Моят сайт е бял или показва грешка 500
Отваряте сайта си и виждате бял екран, съобщението 500 Internal Server Error, HTTP ERROR 500 или при WordPress Er is een kritieke fout opgetreden op deze website. Това почти винаги означава, че кодът на Вашия сайт засича. Самият сървър обикновено работи нормално. С описаните по долу стъпки в повечето случаи сами ще откриете причината.
Първо: какво се е променило наскоро?
Грешка 500 почти никога не се появява от нищото. Помислете за последните часове или дни:
- Обновявахте ли плъгин, тема или самия WordPress, или WordPress го направи автоматично?
- Променяхте ли версията на PHP?
- Правили ли сте промени във файла .htaccess, или създавахте пренасочване или защитена папка?
- Качвахте ли файлове или променяхте ли правата на файлове?
Ако знаете каква е била промяната, първо върнете точно нея обратно. Това обикновено е най-бързото решение.
Стъпка 1: прегледайте регистъра с грешки
Регистърът с грешки Ви показва точно кой файл и кой ред причиняват грешката. Ще го намерите в DirectAdmin под System Info & Files и след това Site summary & logs. Изберете домейна си и отворете регистъра с грешки. Погледнете най-долните редове: те са най-новите. Как точно работи това, прочетете в Site summary & logs: лог файлът за грешки и лог файлът за достъп.
Ако видите например PHP Fatal error с път към wp-content/plugins/naam-van-plugin, веднага знаете кой плъгин е виновникът.
Стъпка 2: най-честите причини
По долу причините са подредени от чести към редки.
1. Плъгин или тема след обновяване
Това е най-честата причина при WordPress. Ако вече нямате достъп до административния панел на WordPress, изключете плъгините чрез DirectAdmin:
- Отворете File Manager (вижте Отваряне на File Manager: директориите във Вашия пакет).
- Отидете на domains/jouwdomein.nl/public_html/wp-content.
- Преименувайте папката plugins например на plugins-uit. Така WordPress изключва всички плъгини.
- Работи ли сайтът отново? Преименувайте папката обратно на plugins и включвайте плъгините в WordPress един по един, докато грешката се появи отново. Тогава ще знаете кой е проблемният плъгин.
Ако вече знаете кой плъгин е (от регистъра с грешки), преименувайте само папката на този плъгин. При критична грешка WordPress често изпраща и имейл до адреса на администратора с връзка към режим за възстановяване. Затова проверете и пощенската си кутия.
2. Версията на PHP не отговаря на Вашия сайт
Стар сайт често не работи на нова версия на PHP, а нов плъгин понякога не работи на стара. Ако наскоро сте променили версията на PHP, върнете я обратно в Select PHP version (вижте Избор на версия на PHP (Select PHP version)). В Fouten na een PHP-upgrade en het foutlog vinden ще прочетете как след това да направите сайта съвместим с по-нова версия.
Съвет: Вашият сайт не е обновяван от години и вече не работи на съвременна версия на PHP? Можем да го обновим вместо Вас. Вижте www.weboke.nl/website-php-upgrade.
3. Грешка в .htaccess
Само един грешен ред в .htaccess може веднага да причини грешка 500 за целия сайт. Познат пример е ред, оставен от плъгин за сигурност, като php_value auto_prepend_file с път към файл, който вече не съществува (например от Wordfence или All In One WP Security). Проверете по следния начин:
- Включете показването на скритите файлове във File Manager (вижте Показване и редактиране на скрити файлове като .htaccess).
- Преименувайте .htaccess в public_html на .htaccess-oud.
- Ако сайтът вече работи (евентуално без красиви адреси), грешката е в този файл. Премахнете грешния ред и преименувайте файла обратно.
Настройките на PHP, като максималния размер за качване, най-лесно се задават в Select PHP version (вижте PHP опции: upload_max_filesize, memory_limit и max_execution_time). Възможен е и ред с php_value в .htaccess (вижте PHP-настройки по папка и чрез .htaccess).
4. Недостатъчна памет за PHP
Ако в регистъра с грешки пише Allowed memory size of ... bytes exhausted, скриптът се нуждае от повече памет, отколкото е разрешено за PHP. Увеличете memory_limit в опциите на Select PHP version (вижте PHP опции: upload_max_filesize, memory_limit и max_execution_time).
5. Неправилни права на файлове
Ако папки или файлове имат твърде широки права (например 777), сървърът отказва да ги изпълни. Папките трябва да имат права 755, а файловете 644. Как да ги промените, прочетете в Права на файлове и директории (chmod).
6. Пространството на Вашия пакет е пълно
Ако пакетът Ви е пълен, сайтът вече не може да записва временни файлове или сесии. Проверете на таблото на DirectAdmin при Disk Space. Какво да направите тогава, прочетете в Опазване на пространството пълно: къде отива мястото?.
7. По рядко: база данни, лимити или хакване
- Виждате Error establishing a database connection? Прочетете 'Error establishing a database connection'.
- Виждате грешка 503 или Resource Limit Is Reached? Тогава пакетът Ви достига лимита си на изчислителна мощност. Прочетете 503 или „Resource Limit Is Reached“: какво да направите сега?.
- Има ли файлове, които не разпознавате, или сайтът Ви пренасочва посетителите към странни уебсайтове? Прочетете Моят сайт е хакнат: план за действие.
Бял екран без съобщение
При бял екран PHP умишлено не показва съобщението за грешка на посетителите. Регистърът с грешки от стъпка 1 тогава е най-добрият Ви източник на информация. При WordPress можете временно да зададете define('WP_DEBUG', true); във файла wp-config.php. След това го върнете на false, иначе посетителите ще виждат технически подробности за сайта Ви.
Накратко за другите кодове на грешки
| Съобщение | Какво означава? | Къде да прочетете повече? |
|---|---|---|
| 403 Forbidden | Сървърът отказва да покаже страницата, например заради защитната стена на Вашия сайт, права или липсващ индексен файл. | Грешка 403 или 406 при запазване или качване |
| 404 Not Found | Страницата или файлът не съществуват на това място. Намира ли се сайтът Ви наистина в public_html на правилния домейн? Обърнете внимание на главните и малките букви в имената на файловете. | Отваряне на File Manager: директориите във Вашия пакет |
| 413 Request Entity Too Large | Това, което качвате, е по-голямо от разрешеното. | Качването е твърде голямо (грешка 413) или time-out |
| 500 Internal Server Error | Кодът на Вашия сайт засича. | Тази статия |
| 503 или 508, Resource Limit Is Reached | Пакетът Ви временно използва повече изчислителна мощност от разрешеното. | 503 или „Resource Limit Is Reached“: какво да направите сега? |
| Страница на WebOké вместо Вашия сайт | Домейнът все още не е (правилно) добавен към хостинг пакета Ви, или DNS все още сочи другаде. | Моят домейн още не работи след трансфер или промяна |
Връщане към работеща версия
Не успявате да решите проблема и сайтът е работел вчера? Тогава възстановете резервно копие. В Mijn WebOké това може да се направи с WebOké Backups: изберете момент отпреди грешката и възстановете само папката на сайта си и евентуално базата данни (вижте Може ли това и в Mijn WebOké? WebOké Backups). Ако използвате Installatron, можете да възстановите и резервно копие от Installatron (вижте Създаване и възстановяване на резервни копия в Installatron).
Съвет: С Здраве на домейна на www.weboke.nl/domein-gezondheid веднага виждате дали домейнът Ви, A записът, сайтът и SSL сертификатът са наред. При Сайт тогава ще видите например Отговаря със сървърна грешка (HTTP 500).
