DokuWiki

It's better when it's simple

User Tools

Site Tools


cli

This is an old revision of the document!


Command Line Tools

DokuWiki comes with a few PHP scripts meant to be executed from the (UNIX) commandline of the DokuWiki server. All the scripts are located in the <yourWiki>/bin/ directory.

Note: In order to be able to use these scripts you need the PHP CLI interpreter installed on the system.

There are two ways to run the scripts. You can either make them executable:

$> chmod +x ./bin/<script>.php
$> ./bin/<script>.php

or run them as follows (recommended):

$> /path/to/php bin/<script>.php

dwpage.php

Note: There have been problems reported with some plugins that rely on ACLs and authentication or the DokuWiki event system.

Usage: dwpage.php [opts] <action>
  
  Utility to help command line DokuWiki page editing, allow
  pages to be checked out for editing then committed after changes
  
  Normal operation would be;
  
  
  ACTIONS
      checkout: see $ dwpage.php --help=checkout
      commit: see $ dwpage.php --help=commit
      lock: see $ dwpage.php --help=lock
  
  OPTIONS
      -h, --help=<action>: get help
          e.g. $ ./dwpage.php -hcommit
          e.g. $ ./dwpage.php --help=commit

indexer.php

Allows you to update the search index.

Usage: indexer.php <options>
  
  Updates the searchindex by indexing all new or changed pages
  when the -c option is given the index is cleared first.
  
  OPTIONS 
      -h, --help     show this help and exit
      -c, --clear    clear the index before updating
      -q, --quiet    don't produce any output

This needs to be run as the appropriate user and possibly the right directory to work. e.g. www-data in ~www-data under debian lenny. If you experiment errors, please firstly check that you are calling the script in the bin path and not in the /lib/exe.

When working with farms, you can define the animal variable while calling the script. Please note that this is on single command line.

animal=example ./bin/indexer.php

wantedpages.php

Usage: wantedpages.php [wiki:namespace]
  
  Outputs a list of wanted pages (pages which have
  internal links but do not yet exist).
  
  If the optional [wiki:namespace] is not provided,
  defaults to the root wiki namespace
  
  OPTIONS
      -h, --help get help

striplangs.php

Allows you to remove unwanted language files from an installation.

Usage: striplangs.php [-h [-x]] [-e] [-k lang1[,lang2]..[,langN]]
  
  Removes all languages from the installation, except the ones
  after the -k option. English language is never removed!
  
  OPTIONS
      -h, --help     get this help
      -x, --examples get also usage examples
      -k, --keep     comma separated list of languages, -e is always implied
      -e, --english  keeps english, dummy to use without -k

gittool.php

Helps with maintaining DokuWiki and plugins installed via git.

Usage: gittool.php <command> [parameters]

Manage git repositories for DokuWiki and its plugins and templates.

EXAMPLE

$> ./bin/gittool.php clone gallery template:ach
$> ./bin/gittool.php repos
$> ./bin/gittool.php origin -v

COMMANDS

help
    This help screen

clone <extensions>
    Tries to install a known plugin or template (prefix with template:) via
    git. Uses the DokuWiki.org plugin repository to find the proper git
    repository. Multiple extensions can be given as parameters

install <extensions>
    The same as clone, but when no git source repository can be found, the
    extension is installed via download

repos
    Lists all git repositories found in this DokuWiki installation

<any>
    Any unknown commands are assumed to be arguments to git and will be
    executed in all repositories found within this DokuWiki installation

plugin.php

This tool gives access to all installed CLI Plugins. Call it without any arguments to get a list of installed plugins:

./bin/plugin.php

Call the plugin's help screen to learn more

./bin/plugin.php <pluginname> -h
cli.1522926009.txt.gz · Last modified: 2018-04-05 13:00 by andi

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki