Относительно частая проблема — при обновлении модулей Wordpress спрашивает логин и пароль от FTP сервера. Как правило, это связано с тем, что или принудительно включен режим обновления по FTP или WordPress не может получить доступ к папке, в которой необходимо выполнить обновление. Wordpress пытается обновить файлы и у него не получается, после чего он просит помощи.
В интернете распространено решение: добавить нижеследующую строчку в файл wp-config.php
:
define('FS_METHOD', 'direct');
Чаще всего это решение не срабатывает, т.к. эта переменная всего лишь инструктирует WordPress использовать метод direct, то есть PHP для обновления, что он и так делает по-умолчанию.
Правильное решение выглядит так:
- Убедиться, что у вас в файле конфигурации wp-config.php нет никаких переменных, начинающихся с
FS_METHOD или FTP_*
. Если такие есть, то удалить или закомментировать. - Проверить права на директории wp-content и plugins. Владельцем папки должен быть тот пользователь, от имени которого запущен web сервер и исполняется php. Это может быть www, nginx или любой другой пользователь в случае php-fpm, указанный в конфигурации.
Владелец папки должен иметь права на запись в нее.
Чтобы не выяснять, в какой папке или подпапке ошибка, я просто запускаю команду:
chown -R www:www ./wp-content
Она рекурсивно меняет владельца для wp-content и всех подпапок (в примере выше подразумевается, что вы уже находитесь в папке сайта и пользователь и группа, которые исполняют php на бэкэнде называются www).
Также неплохо бы убедиться рекурсивно, что на файлы и папки выставлены необходимые права:
# папки
find . -type d -exec chmod 755 {} ;
# файлы
find . -type f -exec chmod 644 {} ;