Я читал в Интернете всевозможную информацию по этой теме. Я только что установил Wordpress на свой ящик Fedora 22, x64. Установка прошла отлично, я могу получить доступ к сайту, но не могу обновить плагины вообще.
До сих пор я видел два разных направления:
1) Настроить FTP-сервер, который он запрашивает, и дайте ему правильные данные аутентификации входа
Я начал двигаться в этом направлении, но действительно ударил кирпичную стену, когда он не принимал правильные учетные данные.
Затем, в старом сообщении о переполнении стека, Я нашел
2) Добавьте define ('FS_METHOD', 'direct');
в wp-config.php
Обе эти проблемы связаны с проблемами разрешений файловой системы. Я пробовал сменить владельца / var / www / html. Во время установки (в которой я следовал инструкциям здесь ) в инструкциях говорилось, что нужно установить владельца и группу на apache: apache. Он также говорит об изменении политики SELinux для этих каталогов. Я попытался сменить владельца на несколько разных вещей, включая моего пользователя, www-data, www_data и все другие вещи, которые люди предлагают в Интернете. Однако ничего не изменилось, пока я не добавил указанную выше строку в wp-config.php. Он больше не запрашивает учетные данные FTP, но все равно не работает, и это почти наверняка из-за разрешений.
Во многих статьях говорилось о смене владельца на того пользователя, который запускал процессы php или php-fpm, но они не работают! Пробовал ps aux | grep php
, а также попробовал это с sudo, но единственный результат, который он показывает, - это процесс grep, ищущий php.
Я нахожусь в некотором затруднительном положении: должен ли я вернуться назад и снова попробовать направление FTP , или есть другой способ решить проблему с разрешениями? Я даже не уверен, какую папку он пытается создать при обновлении или установке плагина. Я выполнил sudo find / -name wordpress
, чтобы увидеть, есть ли другие папки за пределами / var / www / html, единственными другими, в которых было имя wordpress, были каталоги mysql.
Кроме того, Я не уверен, что это подходящее место для этой публикации,
Также пробовал добавить это
определить ('FS_CHMOD_DIR', (0755 & ~ umask ()));
define ('FS_CHMOD_FILE', (0644 & ~ umask ()));
в wp-config, как рекомендовано на веб-сайте WP. Не получилось, и удалил, как тоже рекомендовали.
Также попытался изменить define ('FS_METHOD', 'ftpsockets');
и, конечно же, он снова запрашивает мои FTP-кредиты. Я могу получить доступ к FTP со своего ноутбука, но когда я пробую те же учетные данные из интерфейса WP, он говорит, что не может подключиться. Пытался изменить имя хоста на localhost: 22 (поскольку он не изменился автоматически на порт 22, когда я выбрал SFTP), попробовал обычный FTP (который также открыт, временно), попробовал IP, не пробовал 10.0.0.1 или что-то еще localhost IP есть. Действительно биться головой о стену из пословиц.
Оказалось, что это проблема доступа SELinux. Я как-то пропустил это, потому что средство устранения неполадок SELinux обычно выдает уведомление, если оно что-то блокирует. Мне пришлось зайти и проверить вручную.
Проблема возникла из-за того, что эта команда в учебнике была неправильной:
chcon -Rt httpd_sys_content_t / var / www / html
Должно быть be
chcon -Rt httpd_sys_rw_content_t / var / www / html
Изменение этого сразу решило проблему! Это было с
define ('FS_METHOD', 'direct');
все еще в wp-config.php.
Огромное спасибо s1lv3r, который очень помог мне в процессе устранения неполадок!
Я часто сталкивался с этой проблемой даже с правильными правами доступа к файлам. Мое решение, которое обычно решает эту проблему, - просто отключить все плагины / тему и обновить только этот конкретный плагин.