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

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

8 декабря 2015 142

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

Reg.ru: Регистрация доменов
Reg.ru: Регистрация доменов

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

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

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

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

Комментарии

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее