Me he encontrado al intentar actualizar unos plugins de un nuevo wordpress que al hacerlo me pedí­a los «datos de conexión», algo que me ha parecido raro porque generalmente no suele hacerlo.

Tras bucear un poco en el código me he dado cuenta que en la función get_filesystem_method() de wp-admin/includes/file.php (que se llama desde wp-admin/includes/plugin.php, encargada de actualizar el plugin cuando se lo pedimos) se comprueba que el fichero que se está ejecutando tiene el mismo identificador de usuario que el proceso que está ejecutando la petición.

Esto es así­ en la amplia mayorí­a de los casos y no dará problemas, sobre todo si trabajamos con un hosting preparado. Pero si esto ocurre, la opción más rápida serí­a cambiar el uid de usuario de todos los ficheros de vuestro wordpress al usuario con el que se ejecuta apache. Es decir, partiendo de que el usuario de apache es www-user y vuestro wordpress está en /var/www/wordpress, serí­a usar el comando:

chown -R www-user /var/www/wordpress