File Permissions
Symptom
Restore, migration, or local-cleanup operations fail specifically at the local file-system step (uploading to storage still works, but writing/deleting local files doesn’t).
Likely cause
WordPress’s own process (PHP-FPM/Apache user) doesn’t have write access to
wp-content/uploads, or a specific subdirectory within it.
What the plugin does to protect you either way
- Local file operations always confirm the target path’s
realpathis genuinely under the uploadsbasedirbefore touching it — this is a hard safety check, not a setting, so a misconfigured path fails safely rather than writing/deleting somewhere unexpected. - Local files are only deleted after a successful remote HEAD verification — there is no way to turn this check off.
Steps to diagnose
- Confirm the web server user (commonly
www-data) owns, or at least has write access to,wp-content/uploadsand its subdirectories. - Re-run the failing operation (restore, migrate
--delete-local, etc.) and check for a specific permission-denied error rather than a generic failure.