Difference between revisions of "Composer (PHP)"
m (→Add an extension) |
m |
||
Line 54: | Line 54: | ||
Read the documentation of the extension what kind of version you need, the extension’s documentation should describe it. | 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 <code>composer.json</code> as well as install the extension including dependencies: | The following “require”-command will update your <code>composer.json</code> as well as install the extension including dependencies: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
Line 60: | Line 60: | ||
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> | </syntaxhighlight> | ||
− | |||
== Update extensions == | == Update extensions == | ||
Line 76: | Line 75: | ||
sudo -u www-data php /usr/local/bin/composer.phar remove 'mediawiki/semantic-maps' | sudo -u www-data php /usr/local/bin/composer.phar remove 'mediawiki/semantic-maps' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | == Self Update of composer == | ||
+ | |||
+ | sudo php /usr/local/bin/composer.phar composer.phar self-update | ||
[[Category: MediaWiki]] | [[Category: MediaWiki]] | ||
[[Category: Maintenance]] | [[Category: Maintenance]] |
Revision as of 18:47, 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'
Update extensions
cd /var/www/path/to-wiki-root/
sudo -u www-data php /usr/local/bin/composer.phar update
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'
Self Update of composer
sudo php /usr/local/bin/composer.phar composer.phar self-update