Actually, problem is that WordPress create a temp file to check the file permissions
and it compare that temp file's owner with its a core file's owner (refer fileowner())
both should match. in most of the case, it does not match on localhost hence we extracted wp files in different user access and PHP has its own user group.
So there are 2 ways to solve this problem.
Way 1:
cd wordpress
sudo find . -type d -exec chmod 0755 {} \;
sudo find . -type f -exec chmod 0644 {} \;
and following
define( 'FS_METHOD', 'direct' );
in wp-config.php
This does not check any fileowners just uses the direct file system
way 2
set
sudo chown -R www-data:www-data wordpress
This sets the both WordPress into www-data use so actually the temp file(which created by WordPress) also comes inside this user, So both fileowners is same so problem solves
More info refer : https://developer.wordpress.org/reference/functions/get_filesystem_method/
mac os x ftp default password? Ormac os x configure ftp? Both queries may help find what you need. - Pekkadefine('FS_METHOD', 'direct');in wp-config.php - Indra