Белият екран на смъртта при WordPress

Белият екран на смъртта при WordPress - причини за появата му и начини за поправяне

Здравейте приятели,

Случвало ли ви се е да не можете да достъпите админ панела или друга част от вашия WordPress сайт? Виждате адреса в URL полето на браузъра, но пред вас е само един чисто бял екран.

Това, скъпи приятели, се нарича белият екран на смъртта при WordPress и той сам по себе си представлява един много дразнещ и за съжаление често срещан проблем.

На какво се дължи?

Белият екран на смъртта (WordPress White Screen of Death или още известен като WSOD) е комбинация от PHP грешки и грешки в базата данни. Принципно този проблем може да бъде поправен сравнително лесно, в зависимост от самата грешка, но е напълно възможно да се наложи да инсталирате наново сайта, особено ако нямате наличен бекъп.

Как да открием причината за белия екран на смъртта при WordPress?

Първото нещо, което следва да направите при сблъскване с този проблем е да спрете да правите каквото и да е по сайта, по базата данни и по файловете. Седнете и поемете дълбоко въздух за няколко минути и се опитайте да се успокоите – това ще ви е необходимо за следващите стъпки.

След като сте в състояние да разсъждавате спокойно и логично, следва да преминем към идентифициране на причинителя, който може да е:

  • Повреден плъгин – най-честият случай! Нещо в някой от вашите плъгини не работи коректно и съответно вие се сблъсквате с белотата на екрана. Проблемът може да е генерален за цялата поддиректория plugins и може да се дължи още на:
    • невъзможност за четене, запис и изпълнение;
    • файловете са с различен собственик и в различна потребителска група – при Nginx сървър под Линукс (и не само при тази ситуация). Това се получава най-често, когато сте копирали файлове и сте пропуснали в бързината да съобразите от кой потребителски акаунти ги копирате;
  • Повредена WordPress тема – най-често се случва при активацията ѝ.

Функцията WP_DEBUG може да даде допълнителна информация за проблема и в случай, че не можете да го решите, неутрализирайки един от горните причинители (прочетете по-долу как да се случи това) то следва да разгледате логовете с грешки и да предприемете действия. Но това е нещо, което е по-скоро характерно за по-напредналите WordPress потребители.

Нека сега да видим как можем да се убедим, че проблемът е в плъгините или в темата:

Първо ще започна с темата, защото там нещата са много по-ясни.

Както прочетохте по-горе, проблемът най-често ще се появи непосредствено след активация на новата тема. В повечето случи белият екран на смъртта тук няма да ви попречи да достигнете до админ панела. Ако имате достъп до него, просто трябва да активирате темата по подразбиране на WordPress (за най-новата версия това е Twenty Fifteen). С това ще си върнете достъпа до фронтенда (потребителската част от сайта) и след това ще можете да изберете друга тема или да опитате наново с проблемната (след като я изтеглите повторно, разбира се).

Но ако нямате достъп до админ панела, тогава през FTP трябва да преименувата директорията на активната проблемна тема (тя се намира в /wp-content/themes/) и това ще предизвика автоматичното активиране на темата по подразбиране, с което би следвало да си върнете и достъпа до админ панела.

А сега относно плъгините:

В 99% от случаите ще загубите достъп до админ панела. Спасението е да деактивирате всички плъгини и да почнете повторната активация, докато откриете непослушника. Това може да стане по два начина – чрез преименуване на директорията plugins и чрез действия в базата данни. Всички тези стъпки са налични в тази статия в блога, затова няма да се спирам отново на тях. Изпълнете ги и това ще реши проблема ви, ако някой плъгин поврежда нещата.

Но сега ще се спра на двата частни случая, които споменах по-горе, а именно:

  • невъзможността за четене, запис и изпълнение – в 90% от случаите просто трябва да зададете чрез FileZilla (или FTP клиента, който използвате) генерални настройки за цялата директория plugins и всички поддиректории и файлове в нея. Това се прави с дясно копче на директорията plugins и избор на File Permissions. Появява се диалогов прозорец, в който трябва да въведете настройките както следва:
    • Права на собственика на файловете: четене, запис и изпълнение (поставяте и трите отметки);
    • Права на групата: четене и изпълнение (отметка на първата и третата опция);
    • Публични права: четене и изпълнение (същите отметки);

filezilla_file_attributes

След това поставяте отметка на Recurse into subdirectories и оставяте активен първия радио бутон: Apply to all files and directories. Давате OK и решавате проблема с правата генерално.

Ако сте обърнали внимание числовата стойност в диалоговия прозорец на всички тези настройки е 755. Това означава, че под Линукс в терминала следва да изпълните следната команда (като root), за да постигнете горния ефект (в случай, че нямате директен достъп през FTP до сървъра или просто като алтернатива):

chmod -R 755 /пътят-до/wp-content/plugins

  • файловете са с различен собственик и в различна потребителска група – тук ще се спра директно над командата, която следва да изпълните в Линукс терминала. Преди това обаче трябва да се убедите кой е собственикът и към коя група потребители принадлежи той. Ето защо първо трябва да отидете на едно ниво по-горе, в самата директория wp-content и да изпълните:

cd /пътят-до/wp-content

И след това:

ls -all

Това ще покаже правата за четене (в буквен вид), собственика и групата на всички файлове и директории. Вижте данните за всички останали директории без plugins и съответно ги приложете със следната команда (като root):

chown потребител:потребителска група /пътят-до/wp-content/plugins

С това би трябвало белият екран на смъртта при WordPress да бъде премахнат! Повече информация за различните видове грешки и проблеми, можете да прочетете тук: Common WordPress Errors.

До нови срещи, приятели!

Мониторът в заглавното изображение е благодарение на: Background vector designed by Freepik.