Manual:findOrphanedFiles.php

Other languages:

DetailsEdit

findOrphanedFiles.php is a maintenance script that finds unregistered files in the 'public' repo zone.

MediaWiki uses the "image/" directory for public images. This script finds images that exist in the public directory but are not registered in the database.

OptionsEdit

Option Description Required
--subdir Only scan files in this subdirectory (for example: "a/a0") Optional
--verbose Mention file paths checked Optional

UsageEdit

php maintenance/findOrphanedFiles.php [ --verbose| --subdir ]

Basic runEdit

Terminal
$ php maintenance/findOrphanedFiles.php

README
https://mediawikiexampledomain.com/w/images/c/c4/README

.DS_Store
https://mediawikiexampledomain.com/w/images/e/ed/.DS_Store

Asdeer.jpeg
https://mediawikiexampledomain.com/w/images/e/e4/Asdeer.jpeg

.htaccess
https://mediawikiexampledomain.com/w/images/8/80/.htaccess

Basic run with verboseEdit

Terminal
$ php maintenance/findOrphanedFiles.php --verbose
Scanning files under mwstore://local-backend/local-public:
Checking current file .DS_Store
Checking current file 1631330937964.jpeg
Checking current file README
Checking current file Logo.jpg
Checking current file .DS_Store
Checking current file 1631330937964.jpeg
Checking current file Asdeer.jpeg
Checking current file Example_Main_Page.png
Checking current file .htaccess

README
https://mediawikiexampledomain.com/w/images/c/c4/README

.DS_Store
https://mediawikiexampledomain.com/w/images/e/ed/.DS_Store

Asdeer.jpeg
https://mediawikiexampledomain.com/w/images/e/e4/Asdeer.jpeg

.htaccess
https://mediawikiexampledomain.com/w/images/8/80/.htaccess

Common errorEdit

Local repo uses SHA-1 file storage names; aborting.

This script does not work if your local storage uses SHA-1 hashing.

Could not get file listing.

This error occurs when the directory does not exist or the user running the script does not have permission to read the directory.

If directory does exist, check the file permissions. If you are a root user, you can run script with sudo.

See alsoEdit