XOOPS 2.5 から 2.7 へのアップグレード
2.7 で何が変更されたか
Section titled “2.7 で何が変更されたか”- PHP 8.2+ が必須 — PHP 7.x はもはやサポートされていません
- Composer 管理の依存関係 —
composer.jsonで管理されるコアライブラリ - PSR-4 オートロード — モジュールクラスはネームスペースを使用できます
- 改善された XoopsObject — 新しい
getVar()型安全性、obj2Array()は廃止 - Bootstrap 5 管理 — Bootstrap 5 で再構築された管理パネル
アップグレード前チェックリスト
Section titled “アップグレード前チェックリスト”- PHP 8.2+ がサーバーで利用可能
- 完全なデータベースバックアップ (
mysqldump -u user -p xoops_db > backup.sql) - インストール全体の完全なファイルバックアップ
- インストール済みモジュールとそのバージョンのリスト
- カスタムテーマは個別にバックアップ
アップグレード手順
Section titled “アップグレード手順”1. サイトをメンテナンスモードに設定
Section titled “1. サイトをメンテナンスモードに設定”// mainfile.php — 一時的に追加define('XOOPS_MAINTENANCE', true);2. XOOPS 2.7 をダウンロード
Section titled “2. XOOPS 2.7 をダウンロード”wget https://github.com/XOOPS/XoopsCore27/releases/latest/download/xoops-2.7.x.zipunzip xoops-2.7.x.zip3. コアファイルを置き換え
Section titled “3. コアファイルを置き換え”新しいファイルをアップロード、ただし以下を除外:
uploads/— アップロード済みファイルxoops_data/— 構成modules/— インストール済みモジュールthemes/— テーマmainfile.php— サイト構成
rsync -av --exclude='uploads/' --exclude='xoops_data/' \ --exclude='modules/' --exclude='themes/' --exclude='mainfile.php' \ xoops-2.7/ /var/www/html/4. アップグレードスクリプトを実行
Section titled “4. アップグレードスクリプトを実行”ブラウザで https://yourdomain.com/upgrade/ に移動します。
アップグレードウィザードはデータベース移行を適用します。
5. モジュールを更新
Section titled “5. モジュールを更新”XOOPS 2.7 モジュールは PHP 8.2 互換である必要があります。 更新されたバージョンについては モジュールエコシステム を確認してください。
Admin → モジュール で、インストール済みの各モジュールの Update をクリックします。
6. メンテナンスモードを削除してテスト
Section titled “6. メンテナンスモードを削除してテスト”mainfile.php から XOOPS_MAINTENANCE 行を削除し、
すべてのページが正しく読み込まれることを確認してください。
よくある問題
Section titled “よくある問題”アップグレード後の「クラスが見つかりません」エラー
- XOOPS ルートで
composer dump-autoloadを実行します xoops_data/caches/ディレクトリをクリアします
更新後にモジュールが破損
- 2.7 互換バージョンについてモジュールの GitHub リリースを確認してください
- モジュールは PHP 8.2 用のコード変更が必要な場合があります (廃止関数、型指定プロパティ)
管理パネル CSS が破損
- ブラウザキャッシュをクリアします
- ファイルアップロード中に
xoops_lib/が完全に置き換えられたことを確認します