Вордпресс при обновлении постоянно запрашивает ФТП-доступ

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

Пожалуй, одним из наиболее частых проявлений проблемного хостинга является не правильно выставленные права доступа к файлам и директориям. В связи с чем, некоторые  функции WordPress могут просто не работать. Например, обновление ядра, установка и обновление тем, плагинов. В том числе и автоматическая установка критических обновлений. Если WordPress при каждой инициализации обновления запрашивает логин и пароль — это первый признак того, что с вашим хостингом что-то не так. Тем не менее, проблему постоянного запроса FTP-доступа можно попробовать решить самостоятельно, без обращения в саппорт хостинга.

WordPress при обновлении постоянно запрашивает FTP-доступ?

Итак, существует пара иногда помогающих способов. 

1. Задайте в конфигурационном файле WordPress прямой метод работы с файлами. Напомню, wp-config.php расположен в корневой директории WordPress.

define ('FS_METHOD', 'direct');

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

if(is_admin()) {
	add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
	define( 'FS_CHMOD_DIR', 0751 );
}

Кстати говоря о безопасности. Без глубокого понимания очень не рекомендую экспериментировать с правами доступа к файлами и директориям сайта. В Интернете мне часто встречаются «советы» установить на директорию wp-content права доступа 777 (полный доступ для всех). Делать такое на боевом сайте категорически нельзя!

2. Сохраните в том же конфигурационном файле данные доступа к FTP. Делается это предельно просто.

define('FTP_USER', 'username');
define('FTP_PASS', 'password');
define('FTP_HOST', 'ftp.example.com:21');

Иногда бывает, что WordPress не может найти необходимые для обновления директории. Вы можете ему помочь, указав там же в wp-config.php все рабочий пути:

// абсолютный путь к корневой директории WordPress
define( 'FTP_BASE', '/public_html/wordpress/' );
// абсолютный путь к директориии wp-content
define( 'FTP_CONTENT_DIR', '/public_html/wordpress/wp-content/' );
// абсолютный путь к директории wp-plugins
define( 'FTP_PLUGIN_DIR ', '/public_html /wordpress/wp-content/plugins/' );

Запомните: на нормальном хостинге для инсталляции и использования WordPress от пользователя не требуется никаких дополнительных действий, никаких установок костылей. Со списком рекомендуемых мною хостинг-провайдеров можно ознакомиться по ссылке.

Все выше сказанное имеет отношение не только к виртуальному хостингу, но вполне применимо на виртуальном или физическом сервере. Но в этом случае лучше, конечно, просто грамотно сконфигурировать сервер. Для этого необходимо обратиться к его системному администратору или нанять стороннего специалиста, если таковой не предусмотрен вашим тарифным планом.

Иван Данилин
Автор Иван Данилин

Делаю сайты на Вордпресс с 2008 года, в том числе уникальные инструменты для решения сложных бизнес‑задач.

Подробнее
Комментарии
  1. Проблема не решилась. Либо пишет, что неправильный ftp логин и пароль, хотя это не так, ftp работает. Либо пишет, что Обновление не удалось: Не удалось создать директорию. Ни один из предложенных в интернете способов пока не помог. Проблема возникла внезапно. Новых плагинов не устанавливали, ничего абсолютно не делали, обновлений никаких не было. На пустом месте отказывается обновлять плагины и сам движок. Все предлагаемые решения попробовала — ни одно не помогает, в том числе и ваше. Все плагины отключила, обновила версию wordpress вручную — всё бесполезно.
    • Похоже, что проблема на стороне хостера, обратитесь в саппорт.
Добавить комментарий