Advertencia PHP: chmod(): Operación no permitida en class-wp-filesystem-direct.php en la línea 173

3 nov 2020, 20:54:58
Vistas: 22.8K
Votos: 4

Estoy ejecutando una instancia de WordPress en mi servidor web pero estoy obteniendo este error en los logs

PHP Warning: chmod(): Operación no permitida en
/home/webserver/html/wp-admin/includes/class-wp-filesystem-direct.php en la línea 173,
referer: http:// mysite.com/

Revisé el archivo class-wp-filesystem-direct.php en la línea 173

aquí está la línea:

if ( ! $recursive || ! $this->is_dir( $file ) ) {
                        return chmod( $file, $mode );
}

Estos son los permisos de este archivo:

-rwxrwxr-x 1 root apache 17K Oct 20 20:24 /home/webserver/html/wp-admin/includes/class-wp-filesystem-direct.php

¿Alguno de ustedes sabe qué está mal con mi instancia de WordPress?

Realmente apreciaré su ayuda.

8
Comentarios

Esto no se trata de permisos de archivos sino de propiedad de archivos. Por ejemplo, si tengo un archivo con permisos 777 propiedad de root y en el grupo root, entonces el usuario apache no podrá cambiar sus permisos

Tom J Nowell Tom J Nowell
3 nov 2020 21:24:56

@TomJNowell, pero la pregunta es ¿qué archivo necesito cambiar los permisos? ¿o cambiar la propiedad?

user2924482 user2924482
3 nov 2020 21:58:54

No creo que sea posible saberlo solo con la información que has proporcionado, ¿qué estabas intentando hacer cuando ocurrió? ¿Una actualización de WP?

Tom J Nowell Tom J Nowell
4 nov 2020 01:56:49

puedo confirmar esto al intentar actualizar wp desde el panel de control del backend

clockw0rk clockw0rk
21 jul 2021 04:26:38

Mi solución fue subir toda la carpeta wp-includes de la versión 5.7 nuevamente. Tuve suerte porque desarrollo plugins y normalmente no me preocupo por el núcleo localmente, así que después de la actualización fallida pude simplemente volver a subir el núcleo 5.7 y funcionó nuevamente

clockw0rk clockw0rk
21 jul 2021 04:34:20

@clockw0rk ¿Podrías explicar más tu solución? Ahora tengo el mismo problema.

Cantor Cantor
4 may 2022 13:01:27

Tenía un WordPress funcional en mi disco duro. Lo único que había subido/commitado era mi plugin. Así que cuando la actualización falló, simplemente pude subir toda la carpeta wp-includes y sobrescribirla en el servidor - un "downgrade forzado" por así decirlo.

clockw0rk clockw0rk
5 may 2022 19:04:08

Para tu información, pude eliminar el error simplemente configurando chmod -R 777 en las carpetas admin e include, luego actualizando mediante el backend, y después volviendo a poner chmod -R 750 en las carpetas para denegar permisos de escritura a los scripts. Si no te importa, puedes dejarlas con 777 permanentemente.

clockw0rk clockw0rk
5 may 2022 19:04:26
Mostrar los 3 comentarios restantes
Todas las respuestas a la pregunta 3
4

En mi caso, estos eran archivos en la carpeta /wp-content/uploads/bb-plugin/cache/.

17 dic 2020 08:55:46
Comentarios

¿Quieres decir que tenías archivos allí con permisos incorrectos? ¿Por qué WordPress intentaría hacer chmod en esos?

Rup Rup
17 dic 2020 10:22:02

@Rup bb-plugin intentó acceder a estos archivos usando la API de archivos de WP. No recuerdo si el plugin intentó crear nuevos archivos o modificar los existentes.

Aleksandr Levashov Aleksandr Levashov
18 dic 2020 16:43:08

hmm, hice ls -l en cada archivo en uploads pero no puedo encontrar el archivo que causa el error. Estoy desarrollando localmente con XAMPP en un macbook. Pero de repente no puedo actualizar mis plugins

alex alex
10 ene 2022 23:30:18

el mismo problema para mí, Beaver Builder

Sam Holguin Sam Holguin
14 jun 2023 13:39:56
0

Debes cambiar la propiedad de "root" a "www-data". www-data es el usuario web para apache2.

sudo chown www-data /var/www/html/[yourwebsitefolder]/wp-admin/includes/class-wp-filesystem-direct.php

o mejor aún, cambiar todos los archivos de la carpeta wp-admin de forma recursiva

sudo chown www-data /var/www/html/[yourwebsitefolder]/wp-admin/  -R
7 sept 2022 08:57:19
0

Necesitas verificar el usuario bajo el cual se está ejecutando tu servidor web, así como el usuario propietario y grupo de los archivos dentro de tu carpeta wp-content.

Si el usuario del servidor web no es el mismo que el propietario de los archivos, o no pertenece al mismo grupo, entonces este error ocurre porque el script, al intentar regenerar los diferentes tamaños de la imagen original, no tiene permiso para reemplazar los archivos y por lo tanto muestra el error mencionado.

21 feb 2023 03:38:54