Трощіть свій робочий стіл в нападі відчаю? Прикра помилка призвела до того, що ви розлюбили WordPress?

WordPress – це чудова платформа для ведення блогів та система управління контентом, але немає програмного забезпечення без помилок. У цій статті розглядаються вправні рішення трьох найпоширеніших помилок WordPress: «Білий екран смерті», «Внутрішня помилка сервера» і «Помилка встановлення з’єднання з базою даних».

Деякі поради, наведені в цій статті, можуть бути застосовані і для інших помилок, тому навіть якщо ваш сайт ніколи не падав, ви можете дізнатися щось корисне на майбутнє…

1) Білий екран смерті

Одна з найбільш сумно відомих помилок, яка послужила причиною биття посуду по всьому світу. Найімовірніше, проблема виникла з однієї з таких причин:

  • Брак пам’яті;
  • Плагін;
  • Тема.

Якщо екран смерті з’являється на різних сайтах, які використовують один і той же хостинг, то ви можете сміливо припустити, що проблема пов’язана з провайдером хостингу. Якщо ні, то будьте впевнені, що причина криється в самому сайті.

Брак пам’яті

Часто проблемою, що стоїть за цією помилкою, є досягнення ліміту доступної пам’яті. Щоб збільшити обсяг доступної пам’яті, знайдіть файл wp-config.php: перейдіть до кореневого каталогу вашого сайту за допомогою FTP-клієнта або файлового менеджера на панелі управління хостингом. Всередині основного php тега потрібно буде додати рядок коду, яка збільшить граничний ліміт пам’яті до 64 МБ:

define(‘WP_MEMORY_LIMIT’, ’64M’);

Можна задати і більше, ніж 64 МБ, але це вже залежить від вашого сервера, тому 64 МБ, як правило, є безпечним варіантом. Можливо, збільшення пам’яті не допомогло, або ви вже поставили ліміт вище 64 МБ? Тоді проблема може полягати в плагінах чи вашої теми.

Плагіни

Якщо у вас є доступ до панелі адміністрування, проблеми з плагінами легко вирішуються. Просто перейдіть в розділ «Плагіни» (Plugins) і вимкніть останній встановлений плагін. Якщо це не допомогло, можна відключити всі плагіни вашого сайту, виділіть їх, поставивши галочку в самому верху, і виберете команду «Вимкнути» (Deactivate).

Якщо ж у вас немає доступу до панелі адміністрування, то альтернативним способом тестування плагінів служить використання FTP. Якщо у вас є FTP-клієнт, то просто перейдіть у відповідний каталог.

Зайдіть в каталог wp-content/plugins, в якому містяться всі встановлені плагіни. Просто перейменуйте папку plugins, наприклад, додавши слово в кінець таким чином, що plugins стане plugins-test.

В якості альтернативи ви можете використовувати цю ж методику, щоб перейменувати папки окремих плагінів, що дозволить протестувати кожен плагін індивідуально, а не все відразу. Якщо вам захочеться відновити ваші плагіни, просто перейменуйте папку назад, присвоївши їй початкове ім’я.

Якщо проблема криється в плагіні, причин може бути досить багато. Найкращим виходом буде просто видалити його і знайти плагін, який надає такий же функціонал. Спробуйте знайти самий новий плагін, або той, який був оновлений, щоб він не викликав проблем.

Теми

Якщо усунення неполадок в плагінах не допомогло, тоді доведеться визнати, що причина може бути в вашій темі. Перше, що потрібно зробити — створити резервну копію папки теми. Потім ви можете просто видалити вашу тему, і WordPress встановить тему за замовчуванням.

Якщо ви виявили, що проблема полягає саме в темі, тоді потрібно переглянути файл functions.php. Погано написаний код може бути причиною проблем, і якщо ви не впевнені, що впораєтеся самостійно, то можливо, краще зв’язатися з автором теми. Рекомендується набувати перевірену тему, автор якого пропонує післяпродажну підтримку.

Все ще б’єтеся об стіл у відчаї? Є інший спосіб, який може допомогти — включення режиму відладки.

Включення налагодження PHP-коду

Якщо рішення, наведені вище, не допомогли вам усунути проблему, тоді треба копати глибше. Процес, описаний нижче, допоможе вам виявити проблему. Однак виправлення виявлених помилок може зажадати від вас більш специфічних знань і навичок.

Спершу, відкрийте файл wp-config.php. І знайдіть в ньому наступний рядок:

define(‘WP_DEBUG’, ‘false’);

Помістіть ‘//’ на початку рядка, так щоб вийшло:

//define(‘WP_DEBUG’, ‘false’);

Тепер ця рядок закоментований. Наступний крок: вставити наведений нижче код відразу після цього рядка:

define(‘WP_DEBUG’, true);
define(‘WP_DEBUG_LOG’, true);
define(‘WP_DEBUG_DISPLAY’, ‘false’);
@ini_set(‘display_errors’,0);

Ось тут вам будуть потрібні невеликі знання програмування. Дії, які ми зробили, дозволять спрямувати помилки в файл під назвою error.log (який знаходиться в папці wp-content). Якщо ви не можете його знайти, можливо, у вас немає прав для його створення. Просто створіть новий файл error.log і задайте для нього права доступу 666.

Відкрийте файл error.log в текстовому редакторі і перевірити на помилки PHP. Якщо це те, що ви не зрозуміли або в чому не впевнені, то доцільніше звернутися до когось за допомогою.

2) Внутрішня помилка сервера

Якщо ви зіткнулися з внутрішньої помилкою сервера 500, тоді, можливо, ви ще не знаєте дійсно погану новину — це може бути однією з багатьох проблем!

Тому беремо гарячий напій з високим вмістом кофеїну, робимо глибокий вдих, і готуємося до майбутнього вирішення проблем. Є хороша новина? Так — деякі підходи аналогічні методам, описаним у попередньому розділі.

Плагіни або тема

Зверніться до секцій «Плагіни» і «Теми» з попереднього розділу. Метод вирішення проблеми повністю аналогічний.

Брак пам’яті

І знову, це вирішується так само, як описано в попередньому розділі.

Некоректний .htaccess

Справа не в ваших плагінах і не в темі? Тоді прийшов час перевірити, чи не пошкоджений файл .htaccess. Спочатку перейменуйте файл — знову просто додайте в кінець «temp» або що-небудь подібне. Не бачите цей файл?

Тоді переконайтеся, що ви включили опцію «показувати приховані файли». Як саме це зробити, залежить від вашого FTP-клієнта, але це досить просто. Наприклад, Filezilla, просто виберете зверху «Сервер (Server) і потім — «Показувати приховані файли» (Show hidden files).

Тепер наступний крок — спочатку поверніться назад в панель адміністрування WordPress. Пройдіть в «Настройки — Постійні посилання» (Settings – Permalinks) і потім скиньте ваші постійні посилання. Зараз ви згенерували нову версію робочого файлу, тому ви можете перевірити, чи була вирішена проблема.

Включення налагодження PHP

Це теж було описано в розділі вище, тому знову проведіть вгору.

3) Помилка при встановленні з’єднання з базою даних

Ця помилка може бути викликана кількома причинами. Зазвичай це помилка сервера, але може бути, що ви просто змінили відомості для входу в базу даних. Важливо встановити, чи отримуєте ви цю помилку і на серверної, або на клієнтській стороні вашого сайту.

Якщо ви бачите таке ж повідомлення про помилку на серверній стороні (wp-admin) «Помилка при встановленні з’єднання з базою даних» («Error establishing a database connection»), тоді пропустіть наступний крок.

Однак якщо бачите інше повідомлення про помилку, у якому говориться щось на зразок «…..The database may need to be repaired…» («Можливо, потрібне відновлення бази даних»), тоді ви повинні додати наступний код в ваш файл wp-config.php:

define(‘WP_ALLOW_REPAIR’, true);

Потім перейдіть на цю сторінку http://www.адрес_вашего_сайта/wp-admin/maint/repair.php.

Тепер ви зможете побачити опцію для відновлення бази даних. Як тільки ви відновили її, переконайтеся, що ви видалили наведений вище код з файлу wp-config.php.

Файл wp-config.php

Ви міняли ваш пароль адміністратора, пароль до бази даних? Якщо так, вам також потрібно внести зміни і в файл wp-config.php. Тому зайдіть у ваш файл wp-config.phpі переконайтеся, що ця інформація вірна:

define(‘DB_NAME’, ‘database-name’);
define(‘DB_USER’, ‘database-username’);
define(‘DB_PASSWORD’, ‘database password’);
define(‘DB_HOST’, ‘localhost’);

Важливо перевірити, значення хоста вашої бази даних, так що остання рядок коректна. У більшості випадків, це буде localhost, але перевірте на всякий випадок. Якщо ви запускаєте WordPress на локальному сервері, заміна localhost на IP-адреса може вирішити проблему.

Поспілкуйтеся зі своїм хостинг-провайдером

Якщо ви помітили помилку, коли через сайт проходить великий потік трафіку, тоді несправність може бути на стороні вашого хостинг-провайдера.

Існують методи, що дозволяють перевірити, чи відповідає сервер MySQL на запити, але ваш провайдер може повідомити вам це. У будь-якому випадку, підтримувати зв’язок з вашим провайдером — це завжди гарна ідея, так чому б не подзвонити їм?

Подальші рішення

У більшості випадків рішення, описані вище, допоможуть вам виправити помилку, однак бувають рідкісні випадки, які можуть викликати схожі проблеми. Якщо ви все ще боріться з проблемами, я рекомендую вам відвідати цю сторінку в якості відправної точки.
Удачі!

Переклад статті «3 common WordPress errors, plus how you can fix them» був підготовлений дружною командою проекту Сайтостроение від А до Я.