|Server URLs and file paths: $wgTmpDirectory|
|The path of the temporary directory.
|Introduced in version:||pre 1.1.0|
|Removed in version:||still in use|
|Allowed values:||(absolute path)|
|Default value:||The path to the directory for temporary files as determined by
(Note: The default value of this variable depends on other variables, such as the values set in Setup.php, after LocalSettings.php is executed)
|Other settings: Alphabetical | By function|
The local filesystem path to a temporary directory. This is required to be writable. It shouldn't be accessible from the web, so try to place it outside of the document root (recommended) or at least deny any access from the web via .htaccess or webserver configuration. Having files from this folder accessible from the web can be a security risk.
$wgTmpDirectory is used by
wfTempDir() to control where MediaWiki writes temporary files to, including:
- Old and new tempfiles for external executable based external diff engines configured by
- TempFSFile - used for chunked uploading, some transformations, and various parts of the file backend code
- UID Generator node and lock files.
- Upload from URL
- The directory in which a CACHE_DBA cache places its DBA database file.
Can be overridden using
$wgObjectCaches[CACHE_DBA]['dir']. (removed in 1.23)
- Importing uploads from XML dumps
- SvgHandler - used for SVG transformation
If you are getting this error, an incorrect setting for $wgTmpDirectory often is the cause:
Warning: rename(/tmp/l10n_cache-en.cdb.tmp.335721450,/tmp/l10n_cache-en.cdb): Operation not permitted in /.../vendor/wikimedia/cdb/src/Writer/DBA.php on line 59 Fatal exception of type MWException: Warning: dba_close(): supplied resource is not a valid DBA identifier resource in /.../vendor/wikimedia/cdb/src/Writer/DBA.php on line 54 Fatal error: Uncaught Cdb\Exception: Unable to move the new CDB file into place. in /.../vendor/wikimedia/cdb/src/Writer/DBA.php:60
The solution is to set $wgTmpDirectory to a folder, which actually is writable by the webserver user.
Sometimes it is useful to have separate directories for the web server and CLI user, if they require different permissions. For example:
$wgTmpDirectory = $IP . '/images/tmp-' . php_sapi_name();
See task T126736 for more information!
Usage in unsupported MediaWiki versions
The path to the temporary directory.
When using CACHE_DBA as your
$wgMainCacheType, this allows you to select which directory is used.
- Manual:$wgCacheDirectory - Directory for caching interface messages in the local filesystem.