База знаний

Инструкции и ответы на вопросы о хостинге, работе сайтов и приложений

Как исправить ошибку в WordPress

WordPress

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

Internal Server Error

Сообщение Internal Server Error выводится, когда веб-сервер не смог обработать запрос к сайту из-за ошибок в файле .htaccess. Найдите файл .htaccess в корневой директории сайта, переименуйте его и создайте новый файл с именем .htaccess, в который добавьте стандартные правила WordPress:

 # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
 # END WordPress

Вновь перейдите на сайт и убедитесь, что при переходе по его страницам ошибка не возникает.

Некоторые плагины требуют собственных директив в файле .htaccess. Чтобы правила были добавлены автоматически, последовательно перезапустите все плагины в соответствующем разделе административной панели сайта.

На сайте возникли временные проблемы технического характера

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

Чтобы узнать причины ошибки, в начало файла .htaccess добавьте директиву:

 php_value error_log /home/user/domains/domain.ru/errors.log 

где user — ваш логин, domain.ru — адрес вашего сайта.

Затем повторно обратитесь к странице, на которой возникает ошибка. После этого в файле лога появится сообщение о причине возникающей неполадки.

Если после обновления страницы, на которой вы наблюдаете ошибку, файл errors.log не появился, в файле wp-config.php в корневой директории сайта найдите функцию:

define('WP_DEBUG', false);

и измените её значение на ‘true’, чтобы она имела следующий вид:

define('WP_DEBUG', true);

Сохраните изменения в файле и обратитесь к странице повторно: на ней появятся ошибки, которые возникли на сервере при обработке запроса к сайту.

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

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

Подробнее ознакомиться с информацией о возникающих ошибках вы можете в инструкции.

Наиболее популярные ошибки, возникающие при работе с системой WordPress, мы рассмотрим ниже.

Плагины

Причиной ошибки в работе сайта может стать некорректная работа плагинов после их установки или обновления.

Если в выводе информации об ошибке вы видите путь, который ссылается на директорию /home/user/domains/domain.ru/public_html/plugins/plugin/ , например:

PHP Fatal error: Call to a member function format() on a non-object in /home/user/domains/domain.ru/public_html/plugins/quickicon/phpversioncheck/phpversioncheck.php on line 174 

С помощью раздела «Файловый менеджер» Панели управления найдите директорию плагина и переименуйте её, после чего проверьте работу сайта.

Если сайт работает корректно, перейдите в административную панель сайта, раздел «Плагины» → «Установленные» и удалите плагин.

Если плагин был важен для работы вашего сайта, попробуйте установить его повторно или использовать плагин с аналогичным функционалом с помощью раздела «Плагины» в административной панели.

Неверная версия PHP

Различные версии Wordpress, а также дополнительные плагины работают только на определенной версии PHP. Несоответствие используемой и требуемой версии PHP является одной из наиболее часто встречаемых причин ошибки 500:

 Parse error: syntax error, unexpected T_FUNCTION in /home/user/domains/domain.ru/public_html/wp-config.php on line 94
 PHP Fatal error: Uncaught Error: Call to undefined function ereg() in /home/user/domains/domain.ru/public_html/wp-content/plugins/whydowork-adsense/whydowork_adsense.php:332

Перейдите в раздел «Веб-серверы» Панели управления, найдите веб-сервер, на котором размещен интересующий вас сайт, и последовательно изменяйте используемую на нем версию PHP, пока работа сайта не возобновится.

Недостаток оперативной памяти

По умолчанию для выполнения PHP-скриптов сайта доступно 128МБ оперативной памяти.

Для работы многих скриптов и плагинов требуется больший объем оперативной памяти. Если вы столкнулись с ошибкой:

 PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 81 bytes) in /home/username/domains/domain.ru/public_html/somescript.php 

воспользуйтесь инструкцией.

Отсутствует файл/директория для работы скрипта

Причиной ошибки может быть отсутствие требуемого для работы системы файла или некорректно установленные на него права:

Fatal error: require(): Failed opening required '/home/user/domains/domain.ru/public_html/wp-includes/load.php' (include_path='.:/opt/remi/php71/root/usr/share/pear:/opt/remi/php71/root/usr/share/php:/usr/share/pear:/usr/share/php') in /home/user/domains/domain.ru/public_html/wp-settings.php on line 19

С помощью раздела «Файловый менеджер» найдите файл, который не удается прочесть.

Убедитесь, что права на файл соответствуют 644. В случае необходимости измените их в столбце «Права».

Если файл отсутствует, восстановите его из резервной копии.

Если файл найти не удается, и он также отсутствует в резервных копиях, загрузите «чистый» образ используемой на вашем сайте версии WordPress с официального сайта, найдите необходимый файл и разместите его на сайте.

Узнать версию WordPress вы можете на главной странице административной части вашего сайта domain.ru/wp-admin/index.php в блоке «На виду».

При отсутствии доступа в административную часть вы можете узнать используемою версию в файле /home/user/domains/domain.ru/public_html/wp-includes/version.php в строке:

 $wp_version = '5.2.5'; 

Ошибка соединения с базой данных

Ошибка «Error establishing a database connection» свидетельствует о том, что сайту не удалось выполнить соединение с базой данных.

С помощью раздела «Файловый менеджер» Панели управления перейдите в директорию /home/user/domains/domain.ru/public_html/ и найдите в ней файл wp-config.php. Убедитесь, что значения в следующих строках совпадают с теми, которые указаны в базе данных для вашего сайта в разделе «Базы данных»:

define('DB_NAME', ‘user_dbname);
define('DB_USER', 'user_dbuser');
define('DB_PASSWORD', 'password’);

Измените значения на те, которые вы использовали при создании базы данных. Если вы забыли пароль, измените его в разделе «Базы данных» Панели управления.

Утерян доступ к административной части WordPress

Вы можете сбросить пароль администратора на странице:

domain.ru/wp-login.php?action=lostpassword

где domain.ru — адрес вашего сайта.

После сброса новый пароль придет на почту администратора.

Если пароль не приходит, или доступ к почте администратора сайта утерян, вы можете изменить его вручную.

Для этого в конфигурационном файле сайта (wp-config.php) найдите строку:

define('DB_NAME', 'db_name');

db_name — имя базы данных, которую использует ваш сайт.

Перейдите в раздел «Базы данных» Панели управления, а затем в PhpMyAdmin, кликните на имя базы в левом столбце, в выпадающем списке выберите таблицу «wp_users».

В списке пользователей нажмите кнопку «изменить» слева от аккаунта администратора ( в большинстве случаев логином администратора будет admin).

Очистите значение строки user_pass, введите новый пароль, из выпадающего списка выберите функцию MD5 и нажмите «Вперед».

Переадресация на сторонние сайты при обращении к сайту

Наиболее частой причиной является смена имени сайта в настройках сайта. Чтобы исправить ошибку, перейдите в раздел «Базы данных» Панели управления → PHPMyAdmin → выберите базу данных, которую использует ваш сайт → найдите таблицу «wp_options».

Если в значениях строк siteurl и home указан адрес, отличный от адреса вашего сайта — верните корректные значения и сохраните изменения.

Для того, чтобы ограничить доступ злоумышленников к вашему сайту, измените пароли для доступа:

  1. в административную панель сайта;
  2. к Панели управления аккаунтом хостинга;
  3. данные для подключения по FTP.

Также выполните проверку файлов сайта на наличие вредоносного программного обеспечения с помощью утилиты ХакСкан. Сделать это можно в Панели управления → «Безопасность» → «ХакСкан».

Для удаления вредоносного кода воспользуйтесь инструкцией.

Если вам не удалось удалить вредоносный код самостоятельно, обратитесь разработчику вашего сайта.

Как избежать ошибок в дальнейшем?

  1. Своевременно обновляйте версию WordPress и компоненты сайта.
  2. Устанавливайте только проверенные плагины и темы из официального магазина WordPress.
  3. Выполните шаги по оптимизации системы, описанные в статье.
  4. Настройте автоматическую проверку файлов аккаунта в разделе «ХакСкан» Панели управления.
  5. В случае возникновения сложностей обращайтесь за помощью в службу поддержки.
Была ли эта инструкция полезной?