Manual:$wgTmpDirectory/de-formal

From Linux Web Expert

Revision as of 09:47, 17 August 2022 by imported>ThisCarthing (Created page with "== Details ==")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

<translate> Server URLs and file paths</translate>: $wgTmpDirectory
The path of the temporary directory.
<translate> Introduced in version:</translate>pre 1.1.0
<translate> Removed in version:</translate><translate> still in use</translate>
<translate> Allowed values:</translate>(absolute path)
<translate> Default value:</translate>The path to the directory for temporary files as determined by wfTempDir()[1] (1.20+)

"{$wgUploadDirectory }/tmp" (pre 1.1-1.19)

(<translate> Note:</translate> <translate> The default value of this variable depends on other variables, such as the values set in <tvar|1>Setup.php </>, after <tvar|2>LocalSettings.php </> is executed</translate>)

Details

MediaWiki Version:
<translate> ≥</translate> 1.20

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 $wgExternalDiffEngine
  • TempFSFile - used for chunked uploading, some transformations, and various parts of the file backend code
  • UID Generator node and lock files.
  • Upload from URL

Can be overridden using $wgObjectCaches [CACHE_DBA]['dir']. <translate> (removed in <tvar name=2>1.23</tvar>)</translate>

  • Importing uploads from XML dumps

Common pitfalls

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();

Usage in unsupported MediaWiki versions

<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.19</tvar> is unsupported version</translate>">
<translate> ≤</translate> 1.19
MediaWiki Version:

The path to the temporary directory. When using CACHE_DBA as your $wgMainCacheType , this allows you to select which directory is used.

References

See also