Difference between revisions of "Composer (PHP)"
(Created page with "Some extensions of MediWiki are managed by composer. Documentation: * [https://www.mediawiki.org/wiki/Composer Composer (MediaWiki)] * [http://www.mediawiki.org/wiki/Category:...") |
m (Remove an extension) |
||
Line 1: | Line 1: | ||
− | Some extensions of MediWiki are managed by composer. Documentation: | + | Some extensions of MediWiki are managed by composer. This tool is intended to manage dependencies and needed versions of MediaWiki extensions. It needs a basic configuration file (<code>composer.json</code> in the root wiki folder) and installation or remove of extensions is done on the command line. |
+ | |||
+ | Documentation: | ||
* [https://www.mediawiki.org/wiki/Composer Composer (MediaWiki)] | * [https://www.mediawiki.org/wiki/Composer Composer (MediaWiki)] | ||
* [http://www.mediawiki.org/wiki/Category:Extensions_supporting_Composer Extensions supporting Composer (MediaWiki)] | * [http://www.mediawiki.org/wiki/Category:Extensions_supporting_Composer Extensions supporting Composer (MediaWiki)] | ||
Line 56: | Line 58: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cd /var/www/path/to-wiki-root/ | cd /var/www/path/to-wiki-root/ | ||
− | sudo -u www-data php /usr/local/bin/composer.phar require mediawiki/semantic-maps '3.1.3' | + | sudo -u www-data php /usr/local/bin/composer.phar require 'mediawiki/semantic-maps' '3.1.3' |
+ | </syntaxhighlight> | ||
+ | |||
+ | == Remove an extension == | ||
+ | |||
+ | See https://getcomposer.org/doc/03-cli.md#remove | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | cd /var/www/path/to-wiki-root/ | ||
+ | sudo -u www-data php /usr/local/bin/composer.phar remove 'mediawiki/semantic-maps' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Category: MediaWiki]] | [[Category: MediaWiki]] | ||
[[Category: Maintenance]] | [[Category: Maintenance]] |
Revision as of 18:40, 25 March 2015
Some extensions of MediWiki are managed by composer. This tool is intended to manage dependencies and needed versions of MediaWiki extensions. It needs a basic configuration file (composer.json
in the root wiki folder) and installation or remove of extensions is done on the command line.
Documentation:
- Composer (MediaWiki)
- Extensions supporting Composer (MediaWiki)
- https://packagist.org/search/ search any composer managed extension
- Composer itself: https://getcomposer.org/doc/ the very composer documentation
- Remove extensions: https://getcomposer.org/doc/03-cli.md#remove → extensions you want to remove you must do it with composer
Step 0: First install of PHP composer tool itself:
cd ~ # go to personal home directory
sudo curl -sS https://getcomposer.org/installer | php
sudo chown root:mwadmin composer.phar
sudo mv composer.phar /usr/local/bin/
Step 1: Manage your required extensions in file composer.json
in the root wiki folder. A basic setup is shipped usually by the Mediawiki installation. File composer.json
can look like:
{
"require": {
"php": ">=5.3.2",
"mediawiki/graph-viz": "*",
"mediawiki/image-map": "@dev",
"mediawiki/semantic-media-wiki": "~2.0",
"mediawiki/semantic-result-formats": "2.0",
"mediawiki/semantic-forms": "3.1",
"mediawiki/semantic-maps": "3.1.3"
},
"suggest": {
"ext-fileinfo": "More accurate file type detection for uploaded files",
"ext-mbstring": "Faster unicode handling",
"ext-wikidiff2": "Faster diff generation",
"ext-apc": "Speed up MediaWiki with opcode caching (before PHP 5.5)"
},
"autoload": {
"psr-0": {
"ComposerHookHandler": "includes/composer"
}
},
"scripts": {
"pre-update-cmd": "ComposerHookHandler::onPreUpdate",
"pre-install-cmd": "ComposerHookHandler::onPreInstall"
},
"config": {
"optimize-autoloader": true
}
}
Add an extension
Read the documentation of the extension what kind of version you need, the extension’s documentation should describe it.
The following “require”-command will update your composer.json
as well as install the extension including dependencies:
cd /var/www/path/to-wiki-root/
sudo -u www-data php /usr/local/bin/composer.phar require 'mediawiki/semantic-maps' '3.1.3'
Remove an extension
See https://getcomposer.org/doc/03-cli.md#remove
cd /var/www/path/to-wiki-root/
sudo -u www-data php /usr/local/bin/composer.phar remove 'mediawiki/semantic-maps'