12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- Prior to version 1.16, maintenance scripts were a hodgepodge of code that
- had no cohesion or formal method of action. Beginning in 1.16, maintenance
- scripts have been cleaned up to use a unified class.
- 1. Directory structure
- 2. How to run a script
- 3. How to write your own
- 1. DIRECTORY STRUCTURE
- The /maintenance directory of a MediaWiki installation contains several
- subdirectories, all of which have unique purposes.
- 2. HOW TO RUN A SCRIPT
- Ridiculously simple, just call 'php someScript.php' that's in the top-
- level /maintenance directory.
- Example:
- php clearCacheStats.php
-
- The following parameters are available to all maintenance scripts
- --help : Print a help message
- --quiet : Quiet non-error output
- --dbuser : The database user to use for the script (if needed)
- --dbpass : Same as above (if needed)
- --conf : Location of LocalSettings.php, if not default
- --wiki : For specifying the wiki ID
- --batch-size : If the script supports batch operations, do this many per batch
- 3. HOW TO WRITE YOUR OWN
- Make a file in the maintenance directory called myScript.php or something.
- In it, write the following:
- ==BEGIN==
- <?php
- require_once 'Maintenance.php';
- class DemoMaint extends Maintenance {
- public function __construct() {
- parent::__construct();
- }
- public function execute() {
- }
- }
- $maintClass = "DemoMaint";
- require_once RUN_MAINTENANCE_IF_MAIN;
- ==END==
- That's it. In the execute() method, you have access to all of the normal
- MediaWiki functions, so you can get a DB connection, use the cache, etc.
- For full docs on the Maintenance class, see the auto-generated docs at
- https://doc.wikimedia.org/mediawiki-core/master/php/html/classMaintenance.html
|