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 をダウンロードして準備したら、次のステップに従ってアップグレードを完了します。

  1. 古い craft/config/db.php から新しいプロジェクトの .env ファイルにデータベース接続設定を定義します。

    TIP

    現在のテーブル接頭辞がそれである場合、DB_TABLE_PREFIX="craft" を忘れずにセットしてください。

  2. 古い craft/config/general.php ファイルのすべての設定を新しいプロジェクトの config/general.php ファイルにコピーします。

  3. 古い craft/config/license.key ファイルを新しいプロジェクトの config/ フォルダにコピーします。

  4. 古いカスタムの Redactor 設定ファイルを craft/config/redactor/ から新しいプロジェクトの config/redactor/ ディレクトリにコピーします。

  5. 古いカスタムのログインページのロゴやサイトアイコンファイルを craft/storage/rebrand/ から新しいプロジェクトの storage/rebrand/ ディレクトリにコピーします。

  6. 古いユーザーフォトを craft/storage/userphotos/ から新しいプロジェクトの storage/userphotos/ ディレクトリにコピーします。

  7. 古いテンプレートを craft/templates/ から新しいプロジェクトの templates/ ディレクトリにコピーします。

  8. public/index.php ファイルに何らかの変更を加えていた場合、それらを新しいプロジェクトの web/index.php ファイルにコピーします。

  9. 古い public/ ディレクトリに含まれるすべてのファイルを新しいプロジェクトの web/ ディレクトリにコピーします。

  10. 新しいプロジェクトの web/ ディレクトリを参照するよう、ウェブサーバーの設定をアップデートします。

  11. ブラウザでコントロールパネルの URL(例: http://my-project.test/admin)にアクセスします。アップデートのプロンプトが表示されたら、すべてが正しく実行されています!「Finish up(完了)」ボタンをクリックしてデータベースを更新してください。

  12. プラグインをインストールしている場合、コントロールパネルの「プラグインストア」セクションから 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' からはじまる行を削除してください。