アップグレードと移行
オンラインアップグレード(推奨)
管理画面の左下に現在のバージョン番号が表示されます。そこをクリックすると新バージョンの確認とアップグレードが行えます。サーバー側の作業は不要です。
先にデータベースをバックアップしてください。宝塔なら データベース → バックアップ をクリックするだけで、数秒で終わり、いざというときに助かります。
Docker 利用時も同じ手順でアップグレードできます。プログラムのファイルはデータボリュームにあるため、イメージを入れ替える必要はありません。
手動アップグレード
オンラインアップグレードが失敗したときだけ使います。現在のバージョンから順に 1 つずつ適用してください。バージョンを飛ばすことはできません。
アップグレードパッケージの中身は次のとおりです。
| 内容 | 対応 |
|---|---|
file/ ディレクトリ | 中身をサイトルートにコピーして上書き |
update.sql | データベース変更がある場合のみ存在します(下記参照) |
update.sql の扱い:
- エディタで開き、
__PREFIX__をすべて自分のテーブル接頭辞(既定はacg_)に置換する - phpMyAdmin などのクライアントで SQL を実行する
すべて適用したら、config/app.php の version をアップグレード後のバージョン番号に書き換えます。
手動アップグレードは間違いが起きやすいので、オンラインアップグレードが使えるならそちらを使ってください。
サーバー移行
- ソースをアーカイブ — サイトディレクトリ全体
- データベースをエクスポート — phpMyAdmin か
mysqldump - 新サーバーに宝塔ガイドに沿って環境を用意(PHP バージョンと拡張を揃える)
- ソースを新しいサイトルートに展開し、データベースをインポート
config/database.phpを編集して、新しいホスト・ユーザー・パスワードにする- URL 書き換えとディレクトリ権限を設定し直す
移行後に開けない場合は、この順で確認します。
| 確認項目 | 内容 |
|---|---|
config/database.php | 旧サーバーの情報のままになっていないか |
| Redis | 旧サイトが Redis にセッションを保存していたなら、新サーバーにも導入するか、PHP のセッション保存先をファイルに戻す |
| PHP 拡張 | bcmath を忘れずに |
| 権限 | config、runtime、kernel/Install、assets/cache が書き込み可能か |
| URL 書き換え | 新サーバーでは設定し直しが必要 |
Docker イメージの入れ替え
bash
docker pull ghcr.io/lizhipay/acg-faka:latest
docker stop faka && docker rm faka
docker run -d --name faka -p 80:80 -v acg_data:/data --restart unless-stopped ghcr.io/lizhipay/acg-faka:latestacg_data というボリューム名さえ変えなければ、データ・設定・導入済みプラグインはすべて残ります。
アップグレード後に不具合が出たら
まずサイトルートの runtime.log を読んでください。原因はほぼそこに書かれています。
