Вопрос или проблема
Я использую CentOS 7 (CentOS Linux release 7.6.1810 (Core)
), NGINX 1.15.12, WordPress 5.1
Ошибка
Обновление WordPress
Загрузка обновления из https://downloads.wordpress.org/release/wordpress-5.2-no-content.zip…
Распаковка обновления…
Обновление не может быть установлено, потому что мы не сможем скопировать некоторые файлы. Это обычно связано с неконсистентными правами доступа к файлам: wp-admin/includes/update-core.php
Ошибка установки
Все каталоги должны иметь права 755 или 750.
Все файлы должны иметь права 644 или 640. Исключение: wp-config.php должен иметь права 440 или 400, чтобы предотвратить чтение его другими пользователями на сервере.
Никаким каталогам никогда не следует устанавливать 777, даже каталогам загрузки. Поскольку процесс PHP работает от имени владельца файлов, он получает права владельца и может записывать даже в каталог с правами 755.
Запустите следующие команды в вашей корневой папке и попробуйте снова обновить ваш WordPress.
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Вам, возможно, потребуется переключить SELinux в разрешающий режим:
sudo setenforce 0
Скорее всего, вы захотите вернуть режим обратно, когда закончите.
Ответ или решение
Обновление WordPress до версии 5.2 на CentOS 7 может неожиданно столкнуться с рядом проблем, связанных с разрешениями файлов и конфигурацией системной безопасности. В этом ответе я подробно рассмотрю, как вы можете решить проблему с обновлением, основываясь на вашем описании, а также предложу несколько рекомендаций для предотвращения подобных ситуаций в будущем.
Проблема
Вы упомянули, что пытаетесь обновить WordPress с версии 5.1 до 5.2 на сервере, который использует CentOS 7 и NGINX 1.15.12. Во время процесса обновления вы столкнулись с ошибкой, связанной с невозможностью копирования некоторых файлов из-за несоответствующих разрешений. В частности, ваше сообщение об ошибке указывает на файл wp-admin/includes/update-core.php
.
Причины ошибки
Причина появления данной ошибки связана с настройками разрешений файлов и каталогов. WordPress требует определённые права доступа к файлам, чтобы иметь возможность записывать данные и выполнять обновления. В вашем случае:
-
Разрешения файлов и каталогов: Правильные разрешения должны быть следующими:
- Каталоги: 755 или 750
- Файлы: 644 или 640
- Исключение –
wp-config.php
: 440 или 400 для обеспечения его безопасного хранения.
-
SELinux: Если у вас включен SELinux, он может блокировать доступ к файлам, что также может вызывать ошибку при обновлении.
Шаги по исправлению
-
Проверьте и измените разрешения:
Выполните следующие команды в корневом каталоге вашего сайта WordPress. Эти команды установят правильные разрешения на все файлы и каталоги, что позволит WordPress корректно работать с ними:find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \;
-
Переведите SELinux в режим Permissive:
Если у вас включен SELinux, вы можете временно перевести его в режим Permissive, чтобы проверить, является ли это причиной проблемы. Запустите следующую команду:sudo setenforce 0
После завершения обновления рекомендуется восстановить режим SELinux, чтобы сохранить безопасность сервера:
sudo setenforce 1
-
Запустите обновление WordPress снова:
После внесения всех изменений попробуйте снова выполнить обновление через административную панель WordPress.
Заключение
Решение проблем с разрешениями и настройками безопасности на сервере – это важный аспект управления вашим WordPress-сайтом. Следуя приведённым выше шагам, вы сможете успешно обновить WordPress до версии 5.2 и избежать подобных проблем в будущем. Рекомендуется также периодически проверять права доступа к файлам и каталогу, особенно после установки новых плагинов или тем. Если вы продолжаете сталкиваться с проблемами, возможно, вам стоит ознакомиться с документацией WordPress или обратиться к сообществу для получения дополнительных рекомендаций.