Manual:findOrphanedFiles.php

From mediawiki.org

Details[edit]

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.

Options[edit]

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

Usage[edit]

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

Basic run[edit]

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 verbose[edit]

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 error[edit]

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 also[edit]