Перейти к содержимому

Ошибка при подключении к FTP/SFTP через wp-admin: причины и решения

Ошибка при подключении к FTP/SFTP через wp-admin: причины и решения

WordPress запрашивает FTP-данные при попытке обновить плагин, тему или ядро? Эта проблема знакома многим владельцам сайтов. В этой статье мы разберём, почему WordPress требует FTP/SFTP-доступ, и как решить эту проблему раз и навсегда.

Почему WordPress просит FTP/SFTP?

WordPress использует FTP/SFTP для установки обновлений и плагинов, когда у веб-сервера недостаточно прав на запись в файловую систему. Когда PHP работает от имени пользователя www-data или аналогичного, а файлы сайта принадлежат другому пользователю (например, alexander), WordPress не может напрямую записывать файлы и запрашивает FTP-доступ как обходной путь.

Короткий ответ: Проблема в несовпадении владельца/группы файлов и пользователя, от которого работает PHP-FPM. Решается либо выравниванием прав, либо добавлением констант FS_METHOD и FTP_* в wp-config.php.

Решение 1: Настроить константы в wp-config.php (самый простой)

Добавьте следующие строки в файл wp-config.php перед строкой /* That's all, stop editing! Happy blogging. */:

define('FS_METHOD', 'direct');
define('FTP_BASE', '/var/www/example.com/public_html');
define('FTP_CONTENT_DIR', '/var/www/example.com/public_html/wp-content');
define('FTP_PLUGINS_DIR', '/var/www/example.com/public_html/wp-content/plugins');
define('FTP_THEMES_DIR', '/var/www/example.com/public_html/wp-content/themes');

Константа FS_METHOD со значением 'direct' заставляет WordPress использовать прямой доступ к файловой системе вместо FTP. Остальные константы указывают WordPress, где находятся директории сайта.

Однако этот метод сработает только если у пользователя веб-сервера есть права на запись в эти папки.

Решение 2: Исправить права доступа (правильный подход)

Это наиболее правильное и долговременное решение — настроить корректные права на файлы:

# Перейти в корень сайта
cd /var/www/example.com

# Владельцем всех файлов ставим текущего пользователя
sudo chown -R www-data:www-data .

# Директории — 755, файлы — 644
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

# wp-content должен быть доступен для записи веб-серверу
sudo chmod -R 775 wp-content

Если PHP-FPM работает от другого пользователя (проверьте через <?php echo exec('whoami'); ?>), используйте его вместо www-data.

Решение 3: Проверить, что PHP-FPM работает от правильного пользователя

Часто проблема кроется в конфигурации пула PHP-FPM:

# Редактируем конфигурацию пула
sudo nano /etc/php/8.x/fpm/pool.d/www.conf

Найдите и исправьте параметры:

user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data

Затем перезапустите PHP-FPM:

sudo systemctl restart php8.x-fpm

Теперь PHP работает от www-data, что совпадает с владельцем файлов сайта.

Решение 4: Настроить реальные FTP/SFTP-доступ

Если вы всё же хотите использовать FTP (например, для безопасности), укажите реальные данные подключения:

define('FTP_HOST', 'localhost');
define('FTP_USER', 'ftp_user');
define('FTP_PASS', 'ftp_password');
define('FTP_SSL', true);  // для FTPS

Как проверить, что проблема решена

Перейдите в админ-панель WordPress: Панель управления → Обновления. Попробуйте обновить любой плагин. Если FTP-форма больше не появляется — всё работает.

Также можно создать PHP-файл с тестом:

<?php
$file = __DIR__ . '/test-wp-write.txt';
if (file_put_contents($file, 'OK')) {
    echo 'Запись возможна!';
    unlink($file);
} else {
    echo 'Ошибка записи — проверьте права на папку wp-content';
}

Загрузите его в корень сайта и откройте в браузере.

Почему эта проблема возникает на новых серверах

На VPS и выделенных серверах вы часто настраиваете всё вручную. Когда вы копируете файлы через rsync или Git от своего пользователя, а PHP-FPM работает от www-data, возникает конфликт прав. На дешёвых shared-хостингах этой проблемы обычно нет — там всё настроено провайдером.

Заключение

Ошибка «Connection Information» с запросом FTP/SFTP при обновлении WordPress — это не баг, а защитный механизм. WordPress честно сообщает: «я не могу записать файлы». Лучшее решение — настроить единого владельца для всех файлов (веб-сервер) и корректные права 755/644. После этого установите define('FS_METHOD', 'direct') в wp-config.php — и FTP-форма больше вас не побеспокоит.

Автор: Александр Самарин
Дата публикации: 5 июня 2026
Рубрика: Техничка WordPress