Manual:$wgTmpDirectory/zh

From Linux Web Expert

<translate> Server URLs and file paths</translate>: $wgTmpDirectory
临时目录的路径。
<translate> Introduced in version:</translate>pre 1.1.0
<translate> Removed in version:</translate><translate> still in use</translate>
<translate> Allowed values:</translate>(绝对路径)
<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>)

细节

MediaWiki版本:
<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.
  • 从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版本:

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

参考资料

See also