![]() |
v·d·e |
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.
Most the Linux system and MacOS comes SSH client built-in.So you don't need to any SSH client.You can check SSH client in your system by running following command in your terminal.
$ ssh -VOpenSSH_8.6p1, LibreSSL 2.8.3
If this command gives error then you need to install SSH client in your system.
Debian/Ubuntu -sudo apt install openssh-client
MacOS -brew install openssh
Once you get the SSH client in your system then you can run following command to get into server.
$ ssh -p 22 root@examplewiki.comWelcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-161-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Tue Feb 15 10:32:00 UTC 2022 System load: 0.0 Processes: 106 Usage of /: 29.8% of 24.06GB Users logged in: 0 Memory usage: 51% IP address for eth0: XXX.XXX.XXX.XXX Swap usage: 0% IP address for eth1: 10.116.0.2Last login: Tue Feb 15 10:27:28 2022 from XX.XXX.XX.XXXroot@-s-1vcpu:~#
The default port for SSH connection is22
and user isroot
.But shared hosting provider gives the custom user and SSH port number.Replace these values with yours.
Now, you canrun the MediaWiki maintenance script on server.
For Windows user, there are two ways to get into server.
You can install/enable SSH client using Windows Settings on Windows Server 2019 and Windows 10 devices.They support the SSH natively.SeeOfficial doc.
To install the OpenSSH component:
Settings
, selectApps
>Apps & Features
, then selectOptional Features
.Add a feature
, then:OpenSSH
Client, then clickInstall
.It will install the SSH client in your system.Now, you can SSH to server using PowerShell.
$ ssh -p 22 root@examplewiki.com
The default port for SSH connection is22
and user isroot
.But shared hosting provider gives the custom user and SSH port number.Replace these values with yours.
Now, you canrun the MediaWiki maintenance script on server.
You can use PuTTY or other 3rd party SSH client on Windows machine:
Now, you canrun the MediaWiki maintenance script on server.
Once you get into to the server (See "Get into server" above) then you can follow these steps.
Step 1: Goto the MediaWiki root directory. In most cases, it would be/var/www/html
root@-s-1vcpu:~# cd /var/www/html/
Step 2: Run the script
root@-s-1vcpu:/var/www/html# php maintenance/run.php showSiteStatsTotal edits : 11Number of articles: 3Total pages : 6Number of users : 2Active users : 0Number of images : 0
maintenance/run.php
. Invoking maintenance scripts directly will trigger a warning.If you are using Windows server and get an error (for example:php.exe is no valid Win32 application
), try the following.
$ php-cgi maintenance/run.php showSiteStats
or
$ C:\path\to\php\php-win.exe C:\path\to\mediawiki\maintenance\run.php showSiteStats
If your script fails to run, and spews out a lot of error messages, the first thing to try is to set theMW_INSTALL_PATH
environment 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.
If you get this error when you run a maintenance script for an extension it may be because you don't have permission to read LocalSettings.php.Make sure you can read it, e.g. by usingsudo
.
Almost every PHP script in/maintenance
supports several standard options:
Option | Description |
---|---|
--help | Displays help message |
--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 |
--globals | 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),max for no limit (will be used by default if omitted) anddefault for no change.(introduced in 1.17) |
--quiet | Suppress non-error output |
--wiki | Wiki ID forwiki farms. This may be of the formdbname ordbname-prefix . LocalSettings.php will be run with theMW_DB andMW_PREFIX constants defined accordingly. |
--profiler | Profiler output format (usually "text").(introduced in 1.22) |
--mwdebug | 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/run.php importImages --conf /var/www/html/LocalSettings.php /tmp/wikiimages .jpg .png .svg
Sometimes MediaWiki is installed as a family for many languages and settings (LocalSettings.php) are split to common part and language parts (seeWiki family#Shared Settings) where common part is located outside of/w
directory and accessed using relative link (require_once"../ExtensionSettings.php";
). In this case maintenance scripts will not work when running them in/w/maintenance
directory. Run them from/w
directory instead.
On many shared hosts, you won't have shell access. The following extensions may be useful to run maintenance scripts via the web.