Manual:$wgLocalFileRepo
<translate> Files and file uploads</translate>: $wgLocalFileRepo | |
---|---|
A single repository structure for the local repository. |
|
<translate> Introduced in version:</translate> | 1.11.0 (r22580) |
<translate> Removed in version:</translate> | <translate> still in use</translate> |
<translate> Allowed values:</translate> | (array) |
<translate> Default value:</translate> | see below |
<translate> Other settings:</translate> <translate> Alphabetical</translate> | <translate> By function</translate> |
Details
This config is for customising the local (primary) file repo that MediaWiki uses. Most users will not want to customise this or will customise this indirectly via other variables such as $wgUploadDirectory .
More complex setups may requiring customising this variable. For example, if you want to use a custom file backend, in order to replicate file storage amongst multiple data centers.
Properties required for all repos
- class
- The class name for the repository. May come from the core or an extension. The core repository classes are FileRepo, LocalRepo, ForeignDBRepo. (FSRepo is also supported for backwards compatibility.)
- name
- Should be set to
'local'
. - backend
- A file backend name (see $wgFileBackends ). For $wgLocalFileRepo and $wgForeignFileRepos , a name is automatically generated in Setup.php if not defined.
General parameters for LocalRepo class
Name | Description | Default |
---|---|---|
zones | Config of where to store files (different zones like public vs deleted). An array of zone descriptions containing: container, url, directory, urlsByExt. Some other config options may override this one in specific cases | |
url | Base public URL | |
hashLevels | The number of directory levels for hash-based division of files (see $wgHashedUploadDirectory for info)
| |
deletedHashLevels | 'hashLevels' override for the "deleted" zone.
| |
thumbScriptUrl | The URL for thumb.php (optional, not recommended) | |
transformVia404 | Whether to skip media file transformation on parse and rely on a 404 handler instead. | |
thumbProxyUrl | URL of where to proxy thumb.php requests to. This is also used internally for remote thumbnailing of upload stash files. Example: http://127.0.0.1:8888/wiki/dev/thumb/ | |
thumbProxySecret | Optional value of the X-Swift-Secret header to use in requests to thumbProxyUrl
| |
disableLocalTransform | Do not resize images on local machine, but instead use some other system to do so | |
initialCapital | Equivalent to $wgCapitalLinks , determines whether filenames implicitly start with a capital letter. The current implementation may give incorrect description page links when the local $wgCapitalLinks and initialCapital are mismatched. | |
pathDisclosureProtection | May be 'paranoid' to remove all parameters from error messages, 'none' to leave the paths in unchanged, or 'simple' to replace paths with placeholders. Default for LocalRepo is 'simple'. | |
fileMode | Used by FileBackend to set the unix permissions on created files. | 0644 |
directory | Used by FileBackend to determine upload directory | |
thumbDir | The base thumbnail directory (if not overridden by zone directive) | |
thumbUrl | The base thumbnail URL (if not overridden by zone directive) | |
isPrivate | Is this repo private (E.g. its a private repo). Steps are taken to prevent direct access, but may not be sufficient and you should still make sure the files aren't somewhere served by webserver. | |
useJsonMetadata | Store serialised metadata as JSON instead of php-serialised format. | false (1.38)/true (1.39+)
|
useSplitMetadata | Store large chunks of FileMetadata in external storage. Some files have their entire text layer as metadata, which can cause memory issues if stored directly on the file. | false
|
splitMetadataThreshold | Threshold above which metadata items should be split into external storage. | 1000 |
updateCompatibleMetadata | Automatically regenerate file metadata if it is detected metadata is out of date. | false
|
reserializeMetadata | Automatically change metadata format (E.g. to JSON) or split it to separate storage, if it is detected as needed. | false
|
Default value
This code, in Setup.php, generates a default value for $wgLocalFileRepo based on the values of other configuration settings:
if ( !$wgLocalFileRepo ) {
$wgLocalFileRepo = [
'class' => LocalRepo::class,
'name' => 'local',
'directory' => $wgUploadDirectory ,
'scriptDirUrl' => $wgScriptPath ,
'url' => $wgUploadBaseUrl ? $wgUploadBaseUrl . $wgUploadPath : $wgUploadPath,
'hashLevels' => $wgHashedUploadDirectory ? 2 : 0,
'thumbScriptUrl' => $wgThumbnailScriptPath ,
'transformVia404' => !$wgGenerateThumbnailOnParse ,
'deletedDir' => $wgDeletedDirectory ,
'deletedHashLevels' => $wgHashedUploadDirectory ? 3 : 0
];
}