Jump to navigation
2019-05-04
サーバクラウド化とNucleus更新 [by miyachi]
流石にもうオンプレでサーバを運用する時代でもなかろうと言うことでサクラVPSにサイトを移動しました。ついでにブログのNucleusも最新にしとこうと…思ったら少し苦労したので書いておきます。
まずこれまで使っていたのは Nucleus CMS v3.23 でした。古いですね…ごめんなさい(^^; それを最新の Nucleus CMS v3.71 にしました。しかしその間には深くて暗い川がありましたw 問題は文字コードの扱いの変更です。NucleusにはDB保存/復元の機能があるのですがなかなかうまく使えないことがあってついmysqlのダンプを使ってしまいます。
ダンプを取る:
$ mysqldump [dbname] -p[passwd] -u root > dump.sql
ダンプから戻す:
$ mysql -p -u root [dbname] < dump.sql
これでv3.23のままなら問題なし!しかしv3.71にすると表示が文字化けします。また文字コードが違うとのメッセージも表示されます。
解決方法をサクッと書いてしまうと、ダンプから戻す時に使うファイル(上例ではdump.sql)をNucleusのDB保存で保存したファイルを使いましょう。上書きされるので文字化けした状態で実行して構いません。これで直ったはずです。
原因は直接myjsqldumpするとDBの文字指定がlatin1になってしまう為です。DB保存だとUTF8になります。Nucleusの最新では文字コードの一致をちゃんとチェックしているのでエラーになると言うことです。
あとこれは私だけかもしれませんが admin の css ファイル名が、admin_.css となっていたので libs/ADMIN.php を修正して admin.css を参照するように変更しました。
この状態で upgrades でDBを更新すると全て正常に更新されてバージョンアップ完了です。久しぶりに Nucleus をいじりましたw もし困っている方がいたらご参考に。