Cms/mediawiki/バージョンアップ
mediawikiバージョンアップ方法
例:php5.6(1.24)からphp8.5(1.45)へ
dbのschema構造が違うので、段階的にupしたほうが良い。
1.24 → 1.27 → 1.31 → 1.35 → 1.39
# 1.27 curl -LO https://releases.wikimedia.org/mediawiki/1.27/mediawiki-1.27.6.tar.gz && tar -xzf mediawiki-1.27.6.tar.gz # 1.31 curl -LO https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.16.tar.gz && tar -xzf mediawiki-1.31.16.tar.gz # 1.35 curl -LO https://releases.wikimedia.org/mediawiki/1.35/mediawiki-1.35.14.tar.gz && tar -xzf mediawiki-1.35.14.tar.gz # 1.39 curl -LO https://releases.wikimedia.org/mediawiki/1.39/mediawiki-1.39.10.tar.gz && tar -xzf mediawiki-1.39.10.tar.gz # 1.45 curl -LO https://releases.wikimedia.org/mediawiki/1.45/mediawiki-1.45.3.tar.gz && tar -xzf mediawiki-1.45.3.tar.gz
必要ファイルをバックアップ
cp LocalSettings.php ../backup_work/ cp -r images ../backup_work/
バージョンアップ
cd mediawiki-xxx php maintenance/update.php # 1.40未満はこちら php maintenance/run.php update.php # 1.40以降はこちら
1.35からcomposerインストール
composer install
==1.24から1.31のバージョンアップ パスが8文字以上必須になる。
1.27から1.31のバージョンアップ
ファイルopenエラー
エラー詳細 require_once(skins/CologneBlue/CologneBlue.php): failed to open
LocalSettings.phpの以下をコメントアウト スキンを一旦vectorへ
#require_once "$IP/skins/CologneBlue/CologneBlue.php"; #require_once "$IP/skins/Modern/Modern.php"; $wgDefaultSkin = "vector";
1.31から1.35のバージョンアップ
ファイルopenエラー
エラー詳細
require_once(skins/MonoBook/MonoBook.php): failed to open
LocalSettings.phpの
- 削除 or コメントアウト
- require_once "$IP/skins/MonoBook/MonoBook.php";
- 追加
wfLoadSkin( 'MonoBook' ); $wgDefaultSkin = 'monobook';
composerでext-intlエラーが出るとき
エラー詳細
Root composer.json requires PHP extension ext-intl
dnf install php-intl を入れる
1.35から1.39のバージョンアップ
LocalSettings.phpのpassに特殊キーがある場合はエスケープ必須
$wgDBpassword = "hoge\$hoge";
1.39から1.45のバージョンアップ
MediaWiki internal error.エラーが出るとき
デバック表示する
LocalSettings.php
# 例外表示(デバッグ用) $wgShowExceptionDetails = true; $wgShowDBErrorBacktrace = true;
invalid magic wordエラーが出るとき
詳細エラー
UnexpectedValueException: Error: invalid magic word 'formal' Backtrace: from /var/www/wiki/work_mediawiki/includes/parser/MagicWord.php(91)
キャッシュ削除
php maintenance/run.php rebuildLocalisationCache.php php maintenance/run.php purgeParserCache.php php maintenance/run.php clearMessageCache.php
php-fpm再起動
sudo systemctl restart php-fpm
キャッシュ削除(1.39未満)
■ ローカライズ・メッセージキャッシュ php maintenance/rebuildLocalisationCache.php
■ ジョブ実行(キャッシュ再生成) php maintenance/runJobs.php
DBキャッシュも含めて完全リセット
TRUNCATE wiki_objectcache; TRUNCATE wiki_l10n_cache; TRUNCATE wiki_querycache; TRUNCATE wiki_querycachetwo; TRUNCATE wiki_querycache_info;
バージョン確認
vi includes/Defines.php
define( 'MW_VERSION', '1.45.3' );