Free tools Windows power users keep installed
One-click scans. No signup required.
Duplicator write-access errors usually mean the destination directory is not writable by the account or web-server process running the migration. Set directories to 755 and files to 644, repair ownership for the web-server user, and change only the failing path. If a 403 remains, investigate .htaccess, security plugins, ModSecurity or Imunify360 rather than making the whole site writable. The steps below cover Classic Installation, Duplicator Pro Import and the common wp-content/uploads failure.
Antihost offers managed WordPress hosting with free migration, one-click staging and a 14-day free trial.
What a Duplicator write-access error actually means
During a migration, Duplicator must create directories, extract an archive and write WordPress files, temporary data and database settings. A message such as “permission denied,” “cannot write to wp-content,” or “unable to create directory” means the operating-system user running that operation lacks write access to the specific destination path.
As an Amazon Associate I earn from qualifying purchases.
FTP visibility does not prove that PHP can write. Files uploaded through FTP may belong to your FTP account while PHP runs as a different web-server user or group. Conversely, a directory can have apparently correct mode bits but still be blocked by ownership, a hosting policy or a web-application firewall (WAF).
A 403 response is a different symptom. It can result from an Apache or Nginx rule, a security plugin, ModSecurity, Imunify360 or a host restriction that blocks installer.php or an AJAX/import request before normal filesystem permissions are evaluated.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Use a safe permission and ownership baseline
Duplicator and WordPress document 755 for directories and 644 for files as the normal starting point. The web-server process must also be the owner, or belong to a group with the required access, on the migration directory and Duplicator working directories.
| Object | Baseline mode | What it permits | What you still must verify |
|---|---|---|---|
| Directories | 755 |
Owner can read, write and enter; others can read and enter | The PHP/web-server account can write to the destination and working folders |
| Regular files | 644 |
Owner can read and write; others can read | Uploaded files have the correct owner and are not blocked by a host policy |
Entire site set to 777 |
Do not use | Allows every local process to modify the files | Replace broad permissions with a correct owner/group and targeted folder access |
The three permission digits represent the owner, group and everyone else. A directory also needs the execute (traverse) bit, so a writable child is useless if PHP cannot enter one of its parent directories. This is why checking only wp-content/uploads can miss a restrictive document-root or parent-folder setting.
Never recursively change a WordPress installation to 777. Duplicator explicitly warns that 777 allows anyone to modify files. If you cannot change ownership from your control panel, ask the host to repair it; changing mode bits alone will not fix a mismatched owner.
With shell access, substitute your real installation path and the owner/group approved by your host:
find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} ;
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} ;
Those commands establish modes, not ownership. Do not run an unverified chown command on shared hosting. Request the host’s documented user and group, or use its “reset permissions” function. On managed plans, support may need to correct ownership from the server side even when your panel reports 755 and 644.
Establish a clean migration before troubleshooting
A clean baseline prevents an old partial extraction or an incorrect URL from being mistaken for a permissions problem.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →- Create a matching package. Generate a Duplicator backup and download both
archive.zip(orarchive.daf) and its matchinginstaller.php. Do not mix an installer from one package with an archive from another. - Choose an appropriate destination. Use a new, empty directory when possible. It must be readable and writable by the web-server process. Confirm the domain or temporary URL points to that directory. Check available hosting storage as well; a full quota can stop extraction even when permissions are correct.
- Transfer both files. Upload the archive and matching installer with FTP, SFTP or the host file manager. They may be in the destination root or another valid URL path, provided the directory permissions allow PHP to read and write there.
- Launch the installer. Open
https://your-domain.example/installer.php, then complete the database and URL steps. If the page itself returns 403 or cannot execute, follow the security and PHP checks below before changing database values. - Remove migration artifacts. After the site works, remove
installer.php, the archive and any installer logs or temporary files as directed by Duplicator’s cleanup and security guidance. Leaving an installer or full backup publicly reachable exposes the site.
Keep the original site available until the destination has passed front-end, administrator and media tests. If you are replacing a live site, schedule a maintenance window and take a final backup immediately before changing DNS or the document root.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Find the exact path that fails
Read the on-screen error and installer log instead of broadening permissions everywhere. Record the full path and operation: creating the destination root, writing wp-content, creating wp-content/uploads, writing the Duplicator storage directory or extracting a particular archive member.
- Destination root: The directory containing
installer.phpmay not be writable or may belong to another account. wp-contentoruploads: Repair that directory’s owner/group and write bit. Existing uploads may have been copied by a different account.- Duplicator working or backup directory: The plugin needs a writable location for package data and temporary extraction. Check the exact path named in the log.
- Archive extraction: A single read-only parent directory, quota limit or host restriction can stop extraction even when the archive itself is readable.
Test the smallest affected directory after each change. This preserves the rest of the site’s security posture and makes it clear which change solved the failure. If the log changes from “permission denied” to a timeout or a storage error, stop changing modes and investigate the new condition instead.
Repair permissions and ownership safely
When you have shell access
- Inspect the failing path and each parent directory for owner, group and mode. The web-server account must be able to traverse every parent directory and write the target directory.
- Apply 755 to directories and 644 to files as the baseline. Do not apply a single recursive mode indiscriminately if your host documents a different owner/group model.
- Retry the installer or import. If the error names a different path, correct that path rather than the entire installation.
When you have only a control-panel file manager
- Open the directory named in the error and inspect its permissions and ownership fields.
- Set directories to 755 and files to 644 where the panel permits it.
- Use the panel’s permission-reset tool if available. If ownership is not editable, send support the exact path and the installer-log message.
When files were uploaded under the wrong account
FTP-created files can be owned by an account that differs from the PHP process. Ask the host to make the destination and Duplicator working directory owned by the site account or assigned to the web-server group. A mode of 644 cannot grant write access to a user who is neither the owner nor in an appropriate group.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteDo not “solve” a failed test by making only the archive 777. The archive generally needs to be readable, while the destination and extraction folders need controlled write access. Once extraction is complete, those folders should return to the host’s normal secure state.
Resolve a 403 or an installer that will not launch
If the baseline permissions and ownership are correct, separate filesystem denial from execution or security denial.
Check .htaccess and PHP execution rules
Search the document root and relevant subdirectories for rules that deny PHP execution, including a <Files *.php> deny block. Duplicator notes that an .htaccess file inside wp-content does not automatically block execution, so do not assume that file is the cause.
For a controlled test, temporarily rename the suspected .htaccess file, retry the installer, then restore it immediately. If the test changes the result, replace the rule with a targeted exception rather than leaving PHP broadly enabled in an upload directory. Clear any host or application cache that could preserve the old response.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Test security plugins and the host WAF
Temporarily disable a security plugin, such as Wordfence, only long enough to test the migration and only when you can protect the site by other means. If the request succeeds, re-enable the plugin and add a narrow allow rule for the installer or import request.
Ask the host to inspect ModSecurity or Imunify360 logs for a blocked installer, AJAX or archive-extraction request. Give support the timestamp, URL and request ID if shown. Request a targeted exception; do not permanently disable the WAF. A 403 generated by the WAF cannot be repaired by changing Unix permission digits.
Check for host-level restrictions
Some hosts prohibit PHP execution in particular folders, limit archive extraction or enforce a separate temporary directory. Ask which directory is approved for running an installer and whether an import request or archive size was blocked. A host-level denial cannot be fixed from WordPress.
Choose Import or Classic Installation
The correct recovery path depends on whether WordPress already exists at the destination and where PHP execution is permitted.
| Situation | Recommended path | Required action |
|---|---|---|
| WordPress is already installed and wp-admin works; browser drag-and-drop is available | Duplicator Pro Import | Upload or select the archive under Duplicator Pro » Import |
| Browser import fails or the archive is too large for the web request | Manual Import upload | Transfer the .zip or .daf file to /wp-content/duplicator-backups/imports, then select it under Import |
| The archive is in the WordPress root and the import directory is blocked | Classic Installation | Open installer.php from the root and run the installer there |
| The destination is empty or must be replaced | Classic Installation | Place matching installer.php and archive in the destination root or approved URL path |
| PHP execution is blocked in the normal folder | Supported execution location or Overwrite Install Mode | Ask the host for an approved location; alternatively place the files in the WordPress root and use Overwrite Install Mode when appropriate |
For Classic Installation, Duplicator’s documented workflow is to transfer both the archive and matching installer to the root path of the destination site, then open the installer URL. Do not delete an existing site until you have a verified backup and have confirmed that overwrite behavior is intentional.
Import is usually less disruptive when a functioning WordPress installation already exists, but it still depends on the import directory and wp-admin request being writable and allowed by the host. Classic Installation is more appropriate for an empty destination or a deliberate replacement, but it requires PHP to execute installer.php at the chosen URL path.
Fix the “uploaded file could not be moved to wp-content/uploads” error
This message can appear while installing or updating the plugin and is not necessarily the same as an archive-extraction failure. It means WordPress could not move the uploaded package into wp-content/uploads.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
- Confirm that
wp-content/uploadsexists and is writable by the PHP/web-server process. - Check owner and group for the directory and recently uploaded files; repair mismatches caused by FTP or a previous migration.
- If the host uses FTP components for filesystem writes, follow Duplicator’s separate guidance to disable those components only when appropriate, or correct the underlying system permissions.
- Inspect
wp-config.phpforDISALLOW_FILE_EDITandDISALLOW_FILE_MODS. These constants can disable plugin or file changes; do not remove a hardening setting permanently without understanding why it was added.
After correcting the directory, retry with a small test upload before repeating the full migration. If the test still fails while the path is owned correctly, provide the exact message to the host; the server may be forcing FTP credentials or another filesystem method.
Check supported versions and plugin state
The current WordPress.org listing states PHP 7.4 or newer and WordPress 5.3 or newer for the plugin. Confirm the active PHP version in the hosting panel and the WordPress version under Dashboard » Updates. A migration can fail before file permissions are tested when the runtime is incompatible.
Duplicator’s troubleshooting guidance says Pro 4.5.1 and later include patches that resolve installer-launch problems for most setups. Update to the latest release compatible with your PHP and WordPress versions before repeating a failed test. Take a fresh backup before updating a production site.
Version compatibility does not override server policy: a supported PHP release can still be denied execution in a folder, and a current plugin can still trigger a WAF rule. Treat version, filesystem and security checks as separate gates.
Decide when to involve the host or a migration specialist
| Try yourself when… | Contact the host or an expert when… |
|---|---|
| You can identify the failing path and edit its permissions in a control panel | Ownership, group membership or chown is controlled by the host |
| The error is a straightforward 644/755 or missing-directory issue | ModSecurity, Imunify360, PHP execution policy or a server rule returns 403 |
| You have a tested backup and can tolerate a short maintenance window | The destination is live, must be overwritten, or downtime would be costly |
You can restore the original .htaccess and re-enable security controls immediately |
You cannot safely disable a WAF/plugin or verify that installer artifacts were removed |
When contacting support, provide the exact failing path, complete error text, installer-log excerpt, domain or temporary URL, PHP version, WordPress version and the time of the failed request. Ask for the required owner/group and an explanation of any WAF block instead of requesting 777 permissions. A migration specialist is useful when you cannot alter server ownership or security controls, need a carefully timed overwrite, or must minimize downtime on a live site.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Post-migration security and verification
- Visit the front end and several administrative pages, then test media upload and a representative plugin update.
- Confirm that permalinks, site URL and home URL use the intended domain and HTTPS scheme.
- Check that
wp-content/uploadsand any Duplicator storage directory are writable only as required. - Delete
installer.php, the archive, logs and temporary extraction files from every publicly accessible location. - Re-enable security plugins and restore any temporary
.htaccessor WAF changes. - Run a final backup from the destination and store it away from the public web root.
Also test a logged-out page and a logged-in action that previously failed. This catches an execution rule that affects only one URL or request type. If the host supplied a temporary exception, ask when it will expire and document the normal rule so a later update does not silently reopen the problem.
Quick decision checklist
- Is the error naming a specific directory or file?
- Does that directory have 755 and its files 644, with an owner/group usable by PHP?
- Can the web server traverse every parent directory?
- Is the response a filesystem error or an HTTP 403?
- Have you checked
.htaccess, security-plugin logs, ModSecurity and Imunify360? - Would manual upload to
/wp-content/duplicator-backups/importsor Classic Installation avoid the blocked browser path? - Are PHP 7.4+, WordPress 5.3+ and a current compatible Duplicator release in use?
- Have you checked storage quota and the host’s approved PHP execution directory?
- Have all installer and archive artifacts been removed after verification?
The secure fix is targeted: correct the destination owner and write access, permit the installer request only where required, use the supported fallback when browser import is blocked, and restore normal security controls as soon as the migration is complete.
Best Value
Frequently Asked Questions
Why can I see the files in FTP but Duplicator still says permission denied?
FTP and PHP may run as different users. The FTP account can list files while the web-server process cannot write to the destination. Have the host align ownership or group membership, then keep directories at 755 and files at 644.
Should I change the whole WordPress site to 777?
No. Duplicator warns that 777 allows anyone to modify files. Correct the owner, group and smallest failing directory instead. Use 755 for directories and 644 for files as the normal baseline.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →What does a Duplicator 403 mean?
A 403 often comes from .htaccess, a security plugin, ModSecurity, Imunify360 or another host rule blocking PHP or an AJAX request. It is not automatically a Unix-permission problem, so check security logs before changing modes.
Where should I put an archive when Pro Import drag-and-drop fails?
Use FTP or the file manager to place the .zip or .daf file in /wp-content/duplicator-backups/imports, then select it under Duplicator Pro » Import. If that directory is blocked, use Classic Installation from the WordPress root.
Can an .htaccess file in wp-content cause the installer failure?
It can if it contains a PHP-deny rule, but Duplicator says an .htaccess file in wp-content does not automatically block execution. Rename it only for a controlled test, restore it immediately, and replace any problematic rule with a narrow exception.
What versions do I need?
The current WordPress.org listing states PHP 7.4 or newer and WordPress 5.3 or newer. Duplicator’s troubleshooting guidance also identifies Pro 4.5.1 and later as containing installer-launch patches. Use the latest compatible release.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsWhy does WordPress say the uploaded file could not be moved to wp-content/uploads?
The uploads directory is not writable by the PHP process, or its ownership differs from the account running WordPress. Repair that directory, review FTP-related filesystem settings and check DISALLOW_FILE_MODS in wp-config.php.
When should my hosting company handle the migration?
Ask the host when you cannot change ownership, group membership, PHP execution policy or WAF rules, or when a live-site overwrite and downtime require server-level control. Send the path, full error, log excerpt, versions and failure time.
The Bottom Line
Fix only the path Duplicator names: use 755 directories, 644 files and the correct web-server owner/group. Treat 403 responses as possible execution or WAF blocks, use manual Import or Classic Installation when browser upload is denied, and remove every installer artifact before returning the site to normal operation.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools




