Intereting Posts

для выполнения запрошенного действия wordpress необходимо получить доступ к вашему веб-серверу. введите свой ftp

Я следую за изменением прав на файл «WordPress Codex , но когда я пытаюсь обновить и / или установить plugin и / или theme через wp-admin , я получаю следующее:

Чтобы выполнить запрошенное действие, WordPress должен получить доступ к вашему веб-серверу. Введите свои учетные данные FTP, чтобы продолжить. Если вы не помните свои учетные данные, обратитесь к своему веб-хосту.

от уровня файловой системы:

 # ls -ld wp-content/ wp-content/plugins/ wp-content/themes/ drwxrwxr-x. 6 root apache 4096 Jun 2 12:01 wp-content/ drwxrwxr-x. 28 root apache 4096 Jun 2 00:00 wp-content/plugins/ drwxrwxr-x. 11 root apache 4096 May 11 16:34 wp-content/themes/ # 

httpd работает как apache :

 $ ps auxw | grep httpd root 20158 0.0 0.1 533080 26192 ? Ss 15:03 0:00 /usr/sbin/httpd -DFOREGROUND apache 20233 0.0 0.2 612608 34908 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND apache 20234 0.0 0.2 538772 46904 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND apache 20235 0.0 0.1 536832 24268 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND apache 20236 0.0 0.2 626272 35640 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND apache 20237 0.0 0.0 535296 9592 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND apache 20322 0.0 0.1 537088 26620 ? S 15:03 0:00 /usr/sbin/httpd -DFOREGROUND apache 20380 0.0 0.2 626060 33816 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND apache 20429 0.0 0.1 538216 29184 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND apache 20447 0.0 0.2 629380 43180 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND apache 20448 0.0 0.2 626172 35224 ? S 15:04 0:00 /usr/sbin/httpd -DFOREGROUND alexus 24073 0.0 0.0 112652 972 pts/9 R+ 15:13 0:00 grep --color=auto httpd $ 

Я хотел бы иметь возможность выполнить запрошенное действие ( install и / или update ) через /wp-admin без учетных данных FTP.

Как я могу это сделать?

Solutions Collecting From Web of "для выполнения запрошенного действия wordpress необходимо получить доступ к вашему веб-серверу. введите свой ftp"

Это означает, что WordPress имеет ограниченное разрешение на внесение изменений в папку, в которой он был установлен.

Чтобы исправить это, все, что вам нужно сделать, это предоставить необходимые разрешения для этого.

Запустите следующую команду в запросе Terminal / Putty / Commandline после подключения к вашему серверу через SSH:

 sudo chown -R apache:apache /var/www/html 

Оформить заказ этой статьи для получения полной информации.

Добавьте в wp-config.php следующее:

 define( 'FS_METHOD', 'direct' ); 

Дайте мне знать, как это работает для вас.

Не прямой ответ, но, вероятно, нужно сказать – это одна из проблем, которую вам следует избегать, если вы не говорите о локальном развитии, и в этом случае вы можете просто установить разрешения для 777.

Причина в том, что если веб-сервер может перезаписать ваш код, тогда любой вредоносный код, работающий на нем, сможет это сделать. Риск просто намного больше, чем удобство экономии нескольких секунд, не имея необходимости вводить учетные данные ftp.

Несмотря на то, что совершенно правильно иметь право владения как root:apache с разрешениями 775 и httpd для запуска как apache , WordPress это не нравится. Он хочет, чтобы владелец был apache , согласно wp-admin/includes/file.php :

  // Attempt to determine the file owner of the WordPress files, and that of newly created files $wp_file_owner = $temp_file_owner = false; if ( function_exists('fileowner') ) { $wp_file_owner = @fileowner( __FILE__ ); $temp_file_owner = @fileowner( $temp_file_name ); } 

Ваш будет:
wp_file_owner = root
temp_file_owner = apache

 if ( $wp_file_owner !== false && $wp_file_owner === $temp_file_owner ) { // WordPress is creating files as the same owner as the WordPress files, // this means it's safe to modify & create new files via PHP. $method = 'direct'; $GLOBALS['_wp_filesystem_direct_method'] = 'file_owner'; } elseif ( $allow_relaxed_file_ownership ) { // The $context directory is writable, and $allow_relaxed_file_ownership is set, this means we can modify files // safely in this directory. This mode doesn't create new files, only alter existing ones. $method = 'direct'; $GLOBALS['_wp_filesystem_direct_method'] = 'relaxed_ownership'; } 

Если $ wp_file_owner совпадает с $ temp_file_owner, продолжайте. Ваш будет пойман в elseif, который, согласно комментарию, не позволяет удалить / создать, но только обновления (я проверил это, обновив код плагина из WordPress, и он сработал).

Заметьте, я не просмотрел весь код, это просто моя быстрая интерпретация. У меня была такая же проблема, и как только я переключил пользовательскую группу, так что пользователь httpd также является владельцем файла, он больше не запрашивал учетные данные FTP.