для выполнения запрошенного действия Wordpress должен получить доступ к вашему веб-серверу. введите свой ftp
-
-
Это установка localhost?Если да,см. Http://wordpress.stackexchange.com/questions/19649/wordpress-on-localhost-lamp-doesnt-let-me-install-plugins.Is this a localhost installation? If so, see: http://wordpress.stackexchange.com/questions/19649/wordpress-on-localhost-lamp-doesnt-let-me-install-plugins
- 1
- 2016-06-02
- Greg McMullen
-
@GregMcMullen нет,это * НЕ * установка localhost и "принятый" ответ по ссылке,которую вы комментируете,заключается в рекурсивном изменении владельца каталога wordpress на `none` - это не сработает для меня,потому что` httpd` работает как `apache`.@GregMcMullen no, this is *NOT* localhost installation & "accepted" answer from link that you comment is to recursively change ownership of a wordpress directory to `nobody` - this won't work for me due to `httpd` runs as `apache`.
- 1
- 2016-06-02
- alexus
-
@alexus Похоже,что ваши файлы сейчас принадлежат root.apache.Вы вместо кого-то пробовали apache.apache?@alexus It looks like your files are owned by root.apache at the moment. Did you try apache.apache instead of nobody?
- 0
- 2016-06-02
- Tim Malone
-
@TimMalone установка файлов/каталога как `apache.apache` или` root.apache` не будет иметь никакого значения,пока `httpd` работает как` apache`,а `uid` из` apache` является частью `Группа apache`gid`,это все то же самое,потому что мои права доступа установлены на `g + w`.@TimMalone setting files/directory as `apache.apache` or `root.apache` wouldn't make any difference, as long as `httpd` runs as `apache`, and `apache`'s `uid` is part of `apache` `gid`'s group, it's all the same, because my permissions set to `g+w`.
- 0
- 2016-06-02
- alexus
-
@alexus Хорошо,попробуйте еще кое-что - установите для FS_METHOD значение 'direct' в wp-config.php (https://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants)@alexus Ok, something else to try - set FS_METHOD to 'direct' in wp-config.php (https://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants)
- 0
- 2016-06-02
- Tim Malone
-
@TimMalone на https://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants - `Обратите внимание,что ваш выбор здесь имеет серьезные последствия для безопасности.@TimMalone per https://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants - `Note that your selection here has serious security implications.`
- 0
- 2016-06-02
- alexus
-
@alexus См. http://wordpress.stackexchange.com/questions/189554/what-security-concerns-should-i-have-when-setting-fs-method-to-direct-in-wp-co@alexus See http://wordpress.stackexchange.com/questions/189554/what-security-concerns-should-i-have-when-setting-fs-method-to-direct-in-wp-co
- 0
- 2016-06-02
- Tim Malone
-
6 ответ
- голосов
-
- 2017-06-22
Добавьте в wp-config.php следующее:
define( 'FS_METHOD', 'direct' );
Дайте мне знать,как это работает для вас.
Add the following to wp-config.php:
define( 'FS_METHOD', 'direct' );
Let me know how it works for you.
-
https://wordpress.stackexchange.com/questions/189554/what-security-concerns-should-i-have-when-setting-fs-method-to-direct-in-wp-cohttps://wordpress.stackexchange.com/questions/189554/what-security-concerns-should-i-have-when-setting-fs-method-to-direct-in-wp-co
- 2
- 2017-06-22
- alexus
-
работал у меня,если у вас нет плохих прав в файловой системе.Кстати,я добавил его в самый верх wp-config.phpworked for me unless you have bad permissions in the file system. Btw I added it at the very top of the wp-config.php
- 0
- 2018-09-28
- Toskan
-
Обязательно прочтите сообщение Alexus,на которое есть ссылка,прежде чем использовать этот метод.Этот метод определенно работает (он решил проблему для меня),но вам определенно не следует использовать этот метод в среде общего хостинга или любой среде с повышенным риском,где вы можете поставить под угрозу безопасность,сделав это.Make sure to read the post Alexus linked to before using this method. This method definitely works (it solved the problem for me), but you should definitely not use this method in a shared hosting environment or any at-risk environment where you could compromise security by doing this.
- 0
- 2019-05-18
- JamesHoux
-
после добавления этого я получаю эту ошибку: `Ошибка обновления: обновление не может быть установлено,потому что мы не сможем скопировать некоторые файлы.Обычно это происходит из-за несовместимых прав доступа к файлам.after adding this I have getting this error: `Update Failed: The update cannot be installed because we will be unable to copy some files. This is usually due to inconsistent file permissions.`
- 0
- 2020-03-18
- Sabbir
-
- 2016-08-05
Это означает,что WordPress имеет ограниченные права на внесение изменений в папку,в которую он был установлен.
Чтобы исправить это,все,что вам нужно сделать,это предоставить необходимые разрешения для этого.
После подключения к серверу через SSH выполните следующую команду в терминале/шпатлевке/командной строке:
sudo chown -R apache:apache /var/www/html
Оформить заказ эту статью для получения полной информации.
This means that WordPress is having limited permission for making changes in the folder that it was installed.
In-order to fix this, all that you need to do is provide necessary permissions for the same.
Run the following Command in your Terminal / Putty / Commandline Prompt after connecting to your Server via SSH:
sudo chown -R apache:apache /var/www/html
Checkout this article for full details.
-
разрешения в порядке,перечитайте мой вопрос)permissions are fine, re-read my question)
- 0
- 2016-08-05
- alexus
-
chown: недопустимый пользователь: ‘apache: apache’chown: invalid user: ‘apache:apache’
- 3
- 2018-02-02
- numediaweb
-
Помните,что Apache могут быть разными пользователями в разных версиях Linux.Таким образом,вы можете попробовать группы
и посмотреть,не возникнет ли ошибка,поскольку пользователь и группа для Apache обычно одинаковы.Затем используйте правильного пользователя.Наиболее распространенным в Ubuntu является «www-data: www-data» или «www: www» для выбора файлов Apache. Remember, Apache can be different users in different flavors of Linux. So you can try groupsand see if it errors out or not, since the user and group for Apache is usually the same. Then use the correct user. The most common in Ubuntu is "www-data:www-data" or "www:www" for chown-ing Apache files. - 2
- 2019-01-25
- MontyThreeCard
-
После того,как я смог найти правильное имя пользователя,это сработало просто отлично (см. Также [команда для вывода списка всех пользователей] (https://askubuntu.com/questions/410244/a-command-to-list-all-users-and-how-to-add-delete-modify-users/410274 # 410274))After I could find the right user name this worked just great (see also [command to list all users](https://askubuntu.com/questions/410244/a-command-to-list-all-users-and-how-to-add-delete-modify-users/410274#410274))
- 0
- 2020-01-08
- Top-Master
-
Если вы хотите использовать его в OSX,используйте _www: _www (Мохаве,не знаю,что это будет в других версиях)In case you want to use it on OSX, use _www:_www (Mojave, don't know what it wolud be in other versions)
- 0
- 2020-05-06
- Larzan
-
- 2017-08-23
Хотя совершенно правильно иметь право собственности как
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=apacheif ( $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,и это сработало).
Обратите внимание,я не просматривал код подробно,это просто моя быстрая интерпретация. У меня была такая же проблема,и как только я сменил user:group,чтобы пользователь httpd был также владельцем файла,он больше не запрашивал учетные данные FTP.
Even though it is totally correct to have the ownership as
root:apache
with permissions 775, and httpd to run asapache
, Wordpress does not like this. It wants the owner to beapache
, as perwp-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 ); }
Yours would be:
wp_file_owner = root
temp_file_owner = apacheif ( $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'; }
If $wp_file_owner is same as $temp_file_owner then proceed. Yours would be caught in the elseif, which according to the comment does not allow delete/create, but only updates (I verified this by updating the code of a plugin from within Wordpress, and it worked).
Note I did not extensively look through the code, this is just my quick interpretation. I had the same problem and once I switched user:group so that the httpd user is also the file owner, it did not prompt for FTP credentials anymore.
-
Да,у меня сработала смена владельца на www-data.Забавный WordPress!Yup, changing the owner to `www-data` worked for me. Funny WordPress!
- 1
- 2018-08-30
- ankush981
-
интересная находка,я разберусь ... спасибо +1 от меня)interesting find, i will look into that... thank you +1 from me)
- 0
- 2019-12-16
- alexus
-
- 2016-06-03
Не прямой ответ,но,вероятно,нужно сказать - это одна проблема,которую вам следует избегать,если вы не говорите о локальной разработке,и в этом случае вы можете просто установить разрешения на 777.
Причина в том,что если веб-сервер может перезаписать ваш код,то любой вредоносный код,работающий на нем,также сможет это сделать.Риск намного больше,чем удобство экономии нескольких секунд за счет отсутствия необходимости вводить учетные данныеftp.
Not a direct answer, but probably has to be said - this is one problem you should avoid solving unless you are talking about a local development in which case you can just set permissions to 777.
The reason is that if the webserver can overwrite your code, then any malicious code running on it will be able to do that as well. The risk is just so much bigger than the convenience of saving few seconds by not having to type the ftp credentials.
-
- 2018-05-01
Хотя вопрос уже не нов,я хочу добавить свои два цента и по этому поводу.
Многие пользователи имеют Centos (7) на своих VPS-серверах,и следующие строки кода могут решить их проблему.
Imho имеет прямое отношение к SELinux,который не позволяет WordPress выполнять свою работу так,как хотелось бы. Чтобы объяснить,что такое SELinux и для чего он нужен,уходит слишком много времени. К вашему сведению,введение начинается с:
<цитата>
Security-Enhanced Linux (SELinux) - это механизм безопасности с принудительным управлением доступом (MAC),реализованный в ядре.
Всего 3 шага:
- 1 Откройте терминал (или получите доступ к серверу через SSH).
- 2 Добавьте следующую строку кода
chcon -R -t httpd_sys_content_t/var/www/html/wordpress
- 3 Добавьте вторую строку кода
chcon -R -t httpd_sys_rw_content_t/var/www/html/wordpress
Не требуется перезагрузка с сервера или перезапуска с любого демона.
Не скажу,что это поможет всем,но для тех,кто не отключал SELinux,это должно стать облегчением.
Ура
Примечание: настройте его в соответствии со своими потребностями (имеется в виду путь к WordPress)
edit: обязательно удалите строку
define ("FS_METHOD","direct");
,когда она использовалась/использовалась вwp-config.php
потому что это абсолютно недопустимо,когда приведенные выше строки кода выполняются так,как нужно.Although the question is not that new anymore I want to add my two cents on this issue also.
A lot of ppl have Centos(7) on their VPS server and following code lines could solve their problem.
Imho has all to do with SELinux which withholds WordPress from doing it's job as wished. It goes to far to explain what SELinux is and what it does. FYI the introduction starts with:
Security-Enhanced Linux (SELinux) is a mandatory access control (MAC) security mechanism implemented in the kernel.
Only 3 steps to folow:
- 1 Open a terminal (or access the server through SSH)
- 2 Add following code line
chcon -R -t httpd_sys_content_t /var/www/html/wordpress
- 3 Add second code line
chcon -R -t httpd_sys_rw_content_t /var/www/html/wordpress
No reboot from the server or restart from any daemon needed.
I won't say it helps everybody but for those who didn't disable SELinux it should be a relieve.
Cheers
Note: Please adjust to your own needs (meaning path to WordPress)
edit: be sure to remove the line
define("FS_METHOD", "direct");
when it is/was used inwp-config.php
because that's absolutely a no go when above code lines do as wanted. -
- 2018-08-16
В моем случае я решил эту проблему,переключившись с GIT обратно в режим FTP.
Больше никаких предупреждений.
Возможно,это поможет и кому-то другому.
In my case, I solved this by switching from GIT back to FTP mode.
No more warning.
Perhaps that'll help somebody else too.
Я слежу за Изменением прав доступа к файлам «Кодекс WordPress ,но когда я пытаюсь обновить и/или установить
<цитата>plugin
и/илиtheme
черезwp-admin
,я получаю следующее:Для выполнения запрошенного действия WordPress необходим доступ к вашей сети. сервер. Пожалуйста,введите свои учетные данные FTP,чтобы продолжить. Если вы этого не сделаете помните свои учетные данные,вам следует связаться с вашим веб-хостингом.
на уровне файловой системы:
httpd
работает какapache
:Я хотел бы иметь возможность выполнить запрошенное действие (
install
и/илиupdate
) через/wp-admin
без учетных данных FTP.Как я могу это сделать?