PHP Предупреждение: chmod(): Операция не разрешена в class-wp-filesystem-direct.php на строке 173
Я запускаю экземпляр WordPress на моем веб-сервере, но получаю следующую ошибку в логах
PHP Warning: chmod(): Operation not permitted in
/home/webserver/html/wp-admin/includes/class-wp-filesystem-direct.php on line 173,
referer: http:// mysite.com/
Я проверил файл class-wp-filesystem-direct.php
на строке 173
вот эта строка:
if ( ! $recursive || ! $this->is_dir( $file ) ) {
return chmod( $file, $mode );
}
Вот текущие права доступа этого файла:
-rwxrwxr-x 1 root apache 17K Oct 20 20:24 /home/webserver/html/wp-admin/includes/class-wp-filesystem-direct.php
Кто-нибудь знает, что не так с моим экземпляром WordPress?
Буду очень признателен за вашу помощь.
Ты имеешь в виду, что там были файлы с неправильными правами? Почему WordPress пытался изменить chmod для них?

@Rup bb-plugin пытался получить доступ к этим файлам через API файлов WordPress. Не помню, пытался ли плагин создать новые файлы или изменить существующие.

Хм, я проверил ls -l для каждого файла в uploads, но не могу найти файл, который вызывает ошибку. Я разрабатываю локально с XAMPP на macbook. Но внезапно я не могу обновлять плагины.

Вам необходимо изменить владельца с "root" на "www-data". www-data — это веб-пользователь для apache2.
sudo chown www-data /var/www/html/[папка_вашего_сайта]/wp-admin/includes/class-wp-filesystem-direct.php
Или лучше изменить владельца для всех файлов в папке wp-admin рекурсивно:
sudo chown www-data /var/www/html/[папка_вашего_сайта]/wp-admin/ -R

Вам необходимо проверить пользователя, от имени которого работает ваш веб-сервер, а также владельца и группу файлов внутри папки wp-content.
Если пользователь веб-сервера не совпадает с владельцем файлов или не входит в ту же группу, то эта ошибка возникает потому, что скрипт при попытке регенерации различных размеров исходного изображения не имеет разрешения на замену файлов и поэтому выдает указанную ошибку.
