Craft 2 からのアップグレード
サイトを Craft 3 にアップグレードするための最初のステップは、CMS 自体をアップデートすることです。
アップグレードのための準備
はじめる前に、次のことを確認してください。
- あなたはCraft 3 の変更点を確認しました。
- あなたのサーバーは Craft 3 の最小要件(Craft 3 には PHP 7 以降が必要で、PHP 割当メモリが少なくとも 256 MB 必要です)を満たしています。
- あなたのサイトは、少なくとも Craft 2.6.2788 が実行されています。
- プラグインはすべて最新の状態で、それらが Craft 3 向けにアップデートされていることを確かめました。(Craft 2 コントロールパネルのアップデートページから、プラグインの Craft 3 互換ステータスのレポートを見ることができます。)
- なんらかの問題が起こった場合に備えて、データベースをバックアップしてあります。
上記リストをすべて満たしているなら、アップグレードプロセスを続行できます。
アップグレードの実行
Craft 2 サイトをアップグレードする最善の方法は、新しい Craft 3 サイトを構築するときと同様のアプローチをとることです。はじめに、既存のプロジェクトと並行する新しいディレクトリを作成し、インストールガイドのステップ 1 〜 3 に従ってください。
Craft 3 をダウンロードして準備したら、次のステップに従ってアップグレードを完了します。
古い
craft/config/db.php
から新しいプロジェクトの.env
ファイルにデータベース接続設定を定義します。TIP
現在のテーブル接頭辞がそれである場合、
DB_TABLE_PREFIX="craft"
を忘れずにセットしてください。古い
craft/config/general.php
ファイルのすべての設定を新しいプロジェクトのconfig/general.php
ファイルにコピーします。古い
craft/config/license.key
ファイルを新しいプロジェクトのconfig/
フォルダにコピーします。古いカスタムの Redactor 設定ファイルを
craft/config/redactor/
から新しいプロジェクトのconfig/redactor/
ディレクトリにコピーします。古いカスタムのログインページのロゴやサイトアイコンファイルを
craft/storage/rebrand/
から新しいプロジェクトのstorage/rebrand/
ディレクトリにコピーします。古いユーザーフォトを
craft/storage/userphotos/
から新しいプロジェクトのstorage/userphotos/
ディレクトリにコピーします。古いテンプレートを
craft/templates/
から新しいプロジェクトのtemplates/
ディレクトリにコピーします。public/index.php
ファイルに何らかの変更を加えていた場合、それらを新しいプロジェクトのweb/index.php
ファイルにコピーします。古い
public/
ディレクトリに含まれるすべてのファイルを新しいプロジェクトのweb/
ディレクトリにコピーします。新しいプロジェクトの
web/
ディレクトリを参照するよう、ウェブサーバーの設定をアップデートします。ブラウザでコントロールパネルの URL(例:
http://my-project.test/admin
)にアクセスします。アップデートのプロンプトが表示されたら、すべてが正しく実行されています!「Finish up(完了)」ボタンをクリックしてデータベースを更新してください。プラグインをインストールしている場合、コントロールパネルの「プラグインストア」セクションから Craft 3 対応版をインストールする必要があります。(追加のアップグレードガイドについては、プラグインのドキュメントを参照してください。)
これで Craft 2 プロジェクトから Craft 3 へのアップグレードが完了しました。Craft 3 の変更点を確認する時間を設けてください。
トラブルシューティング
コントロールパネルにアクセスすると Craft のインストーラーが表示されます。
これが起こるのは、.env
ファイルのデータベース接続情報が実際に必要な情報と完全に一致しないためです。多くの場合、正しい DB_TABLE_PREFIX
を設定するのを忘れています。
「Setting unknown property: craft\config\DbConfig::initSQLs」エラーが表示されます。
Craft 2 の MySQL 5.7 サポートのための修正のみに使用され、もはや必要ではなくなった initSQLs
データベース設定が Craft 3 で削除されました。config/db.php
ファイルを開いて、'initSQLs'
からはじまる行を削除してください。