The maintenance scripts are used to perform various administrative, import, maintenance, reporting and upgrade tasks. The scripts are written in PHP and live in the
maintenance subdirectory of MediaWiki installs.
There are dozens of scripts with varying degrees of general utility and quality. You should carefully read the documentation on a script before using it; if a script isn't documented, take additional care running it.
- 1 配置
- 2 运行脚本
- 3 维护脚本列表
- 4 另见
$wgDBadminpassword configuration variables must be set in order to run maintenance scripts that need to alter the structure of the database (like 手册:update.php) if the user configured in 手册:$wgDBuser doesn't have enough permissions. Alternatively, you can pass the --dbuser and --dbpass parameters to the script. The values for these variables differ based on the database engine that is being used to power your installation of MediaWiki.
If not configured, it will use the user configured in 手册:$wgDBuser.
Some of the maintenance scripts require database permissions that, for security reasons, the main MediaWiki database account should not have. A separate database account with 'superuser' privileges for just the MediaWiki database should be created (if it does not already exist.) If the database that you use for MediaWiki is called
wikidb, then the following SQL would create such a user who can exercise superuser privileges on localhost.:
GRANT ALL PRIVILEGES ON wikidb.* TO 'wikidbadmin'@'localhost' IDENTIFIED BY 'strong-password';
Once the account exists, the account name should be set in the
$wgDBadminuser configuration variable. Like other configuration variables,
$wgDBadminuser should be set in LocalSettings.php. A password for
$wgDBadminuser must be set in the
$wgDBadminpassword configuration variable.
PostgreSQL uses a different security model than MySQL and the same PostgreSQL server account used for day-to-day operation of the MediaWiki installation must also be used for running the maintenance scripts. This is necessary to ensure that the owner for new tables created by the maintenance scripts is set correctly. You don't need to set
$wgDBadminpassword at all.
The maintenance scripts must then be run from the command line. Users who do not access the server directly from its terminal will usually establish a connection through ssh. For Linux/Unix users this is by using the ssh client in a shell. For Windows users the use of a ssh client application such as the one introduced below is required.
- 步骤2：在PuTTy，在Host Name （或IP地址）后输入主机的IP地址（必要情况下请联系网站提供商）并点击打开。
- 步骤3：一个命令行窗口将会弹出。在login as:后输入FTP 用户名
- Step 5: Change the current directory to the maintenance subdirectory. You can type
pwdto see what folder you are currently in. The maintenance folder is in the root mediawiki folder.
$ cd maintenance
$ php rebuildall.php
- 如果发生错误（例如：“php.exe is no valid Win32 application”）可以尝试下面的措施：
$ php-cgi rebuildall.php
$ C:\path\to\php\php-win.exe C:\path\to\mediawiki\maintenance\rebuildall.php
MW_INSTALL_PATHenvironment variable to point to the root of your MediaWiki installation. This will help scripts to find the necessary files, and is particularly relevant when running maintenance scripts provided by third-party extensions.
Almost every PHP script in
/maintenance supports several standard options:
- --conf <path>
- Location of LocalSettings.php, if not default (at parent directory of the script)
- --dbuser <username>
- Database account to use instead of the one specified in LocalSettings.php, not used for scripts that don't require a database connection or when SQLite database backend is used
- --dbpass <password>
- Database password to use instead of the one specified in LocalSettings.php, not used for scripts that don't require a database connection or when SQLite database backend is used
- Output globals at the end of processing for debugging
- --memory-limit <value>
- Set memory limit for the script. Accepts ordinary numbers, standard php.ini abbreviations (1024K, 20M, 1G),
maxfor no limit (will be used by default if omitted) and
defaultfor no change. (introduced in 1.17)
- --wiki <id>
- Wiki ID for wiki farms. This may be of the form
dbname-prefix. LocalSettings.php will be run with the
MW_PREFIXconstants defined accordingly.
- Profiler output format (usually "text"). (introduced in 1.22)
- Enable built-in MediaWiki development settings. (introduced in 1.31)
In cases where the MediaWiki php files are symlinked to a central installation, you will need to specify to the maintenance script the path of the LocalSettings.php file. For example:
php maintenance/importImages.php --conf /var/wwwdata/website.org/wiki/LocalSettings.php /tmp/wikiimages .jpg .png .svg
A copy of your installation's LocalSettings.php must exist and be readable in the source directory.
Sometimes MediaWiki is installed as a family for many languages and settings (LocalSettings.php) are split to common part and language parts (see Manual:Wiki family#Shared Settings) where common part is located outside of /w directory and accessed using relative link (
In this case maintenance scripts will not work when running them in /w/maintenance directory.
Run them from /w directory instead:
$ php maintenance/rebuildall.php
Here is the list of files included in the
maintenance subdirectory located at the root of a MediaWiki installation. You can contribute to this manual by keeping this list up to date, adding a description of these files' specific purpose and of how an administrator should use them (command line examples, etc.). Be aware that these were created & named on an ad hoc basis so have some usability issues. Please add any you notice to Usability#Poorly named and documented maintenance scripts.