Как я могу остановить WordPress от запроса ввода информации о FTP при выполнении обновлений?

Как остановить WordPress от запроса ввода информации о FTP при выполнении обновлений?

28 голосов | спросил artlung 12 AM000000120000005331 2010, 00:22:53

5 ответов


23

Если вы редактируете файл wp-config.php, вы можете предварительно загрузить эти параметры FTP в качестве констант, прочитанных WordPress. Имейте в виду, что на общем хосте вы должны помнить о возможных последствиях для безопасности. Подробнее см. Редактирование wp-config.php для получения дополнительной информации. .

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

define('FS_METHOD', 'direct');
define('FTP_BASE', '/usr/home/username/public_html/my-site.example.com/wordpress/');
define('FTP_CONTENT_DIR', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/usr/home/username/public_html/my-site.example.com/wordpress/wp-content/plugins/');
// define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');
// define('FTP_PRIKEY', '/home/username/.ssh/id_rsa');
define('FTP_USER', 'my-ftp-username');
define('FTP_PASS', 'my-ftp-password');
define('FTP_HOST', 'ftp.my-site.example.com');
// define('FTP_SSL', false);
ответил artlung 12 AM000000120000002531 2010, 00:23:25
12

Проверьте право собственности на файл. Когда пользователь, который запускает apache, может писать в каталоги wordpress, тогда интегрированный процесс обновления просто работает без ftp. Учетные данные FTP предназначены для того, чтобы веб-сервер не обладал необходимыми привилегиями в ваших файлах, затем Wordpress запрашивает ваши данные FTP и пытается использовать их для FTP на том же сервере, на котором он сможет писать необходимых ему файлов.

ответил pixeline 12 AM000000120000005331 2010, 00:45:53
5

Похоже, что WordPress не только проверяет, являются ли каталоги доступными для записи, но и проверяет ли пользователь Apache OWNS каталоги (или, по крайней мере, если пользователь Apache владеет созданным им временным файлом) , Соблюдайте эти строки кода в /wp-admin/includes/file.php: get_filesystem_method ():

if ( $temp_handle ) {
    if ( getmyuid() == @fileowner($temp_file_name) )
        $method = 'direct';
    @fclose($temp_handle);
    @unlink($temp_file_name);
}

Итак, быстрым решением будет выпустить эту команду и предоставить право собственности на всю установку Wordpress на Apache:

sudo chown -R www-data wordpress/

Где www-данные - это пользователь Apache, и, конечно, wordpress - это папка установки WordPress.

Далее я подтвердил свое решение: https://ardeearam.wordpress.com/2013/02/03/solved-wordpress-asking-for-ftp-credentials-when-upgrading/

ответил Ardee Aram 11 72012vEurope/Moscow11bEurope/MoscowSun, 11 Nov 2012 10:49:01 +0400 2012, 10:49:01
1

При тонкой настройке Apache 2.4 через EasyApache4 для повышения скорости загрузки веб-сайта на сервере Centos 7 PHP 7 я включил mod_pagespeed. При включении он автоматически отключит mod_ruid2 и mod_cgi (и включит другие два модуля). При отключении mod_pagespeed он не будет автоматически активировать mod_ruid2 - он снова включит только mod_cgi. Без mod_ruid2 Wordpress запросит учетные данные FTP.

Нет необходимости жестко кодировать wp-config.php или устанавливать права доступа к файлам (опасно) на 777. Просто включите mod_ruid2 вручную, перезапустите Apache и проблема с разрешением FTP /файла. Wordpress и плагины теперь могут обновляться как обычно, а медиа загружаются в галерею Wordpress. Он работает сразу.

Я только что проверил, что при смене из MPM Prefork в Worker он отключит mod_ruid2. При возврате от Worker to Prefork он не включит mod_ruid2, вызывая проблему, описанную в этом сообщении.

В обоих случаях ключ должен проверить и включить mod_ruid2.

Надеюсь, что помогли.

ответил itmonitor 1 PM00000070000001031 2017, 19:45:10
-1

1) Я не мог согласиться с ответом выше, потому что он был слишком общим

1a) Я просто не хочу рекурсивно менять права собственности на все мои файлы (как при использовании дробовика, чтобы убить муслика). Тем более, что это отлично работает до этого.

1b) Wordpress, имеющий «скрытую» функцию, внезапно просит вас ввести учетные данные для ftp

2) Итак, я начал копать глубже, используя Ардее Арама. Я пошел проверить файл file.php и проверил его право собственности. Похоже, файл file.php зависит от его собственной собственности (которая была неправильно установлена ​​как root).

Исправление: chown www file.php

ПРИМЕЧАНИЕ. Замените www каким-либо вашим дистрибутивом или настройками (вы можете использовать ps aux | egrep "php | http" и посмотреть, что принадлежит ему в первом столбце.

Надеюсь, это поможет кому-то еще разобраться в этом. Я даже не понимаю, почему Wordpress не «жалуется» в первую очередь, а затем предлагает использовать альтернативу FTP. Теперь это как «особенность», которая внезапно вводится.

ответил th3penguinwhisperer 10 Maypm16 2016, 23:33:58

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132