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

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

8 декабря 2015 1 154 2

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

20 новейших лендингов для Вордпресс 2018 года

Пожалуй, одним из наиболее частых проявлений проблемного хостинга является не правильно выставленные права доступа к файлам и директориям. В связи с чем, некоторые  функции 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 от пользователя не требуется никаких дополнительных действий, никаких установок костылей. Со списком рекомендуемых мною хостинг-провайдеров можно ознакомиться по ссылке.

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

Всё самое новое и интересное я публикую в своём Телеграм-канале. Подписывайтесь!

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

Практикующий веб-разработчик, специализируюсь на платформе Вордпресс.

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

Добавить комментарий

Услуги фрилансеров по фиксированной цене — 500 р.
Подробнее