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の

  1. 削除 or コメントアウト
  2. require_once "$IP/skins/MonoBook/MonoBook.php";
  1. 追加

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' );