MODxデータ移行の手順(メモ)
coreserver(MySQL5.1.22-rc) から ablenet(MySQL 5.0.67) への データ移行メモ
① 移行元のサーバーからデータを全てダウンロードする
② 移行元のサーバーでphpMyAdminを使いDBのバックアップを行う
バックアップファイルの以下の2箇所についてファイルパスを適宜変更
('rb_base_dir', 'assetsディレクトリまでのパス'), // ファイルブラウザディレクトリ(アセットディレクトリ)への物理パス ('filemanager_path', 'ファイル管理機能で扱える範囲のパス'), // デフォルトはリソースルートディレクトリの物理パス
③ コンフィグレーションファイルの内容を移行先のサーバー用に修正
manager/includes/config.inc.php
7~10行目
$database_server = 'localhost:3307'; ※今回該当するサーバーはポートを3307番と明示することでMySQL5が使えるようになっているため、ここでポート番号を指定 $database_user = 'hoge'; $database_password = 'hoge'; $database_connection_charset = 'utf8'; $database_connection_method = 'SET CHARACTER SET'; $dbase = '`hoge`'; $table_prefix = 'modx_';
④ 移行先のサーバーにデータをアップロードする
⑤ 以下ののディレクトリ、ファイルのパーミッションを変更する
assets/cache/(707) assets/export/(707) assets/files/(707) assets/flash/(707) assets/cache/(707) assets/images/(707) assets/media/(707) assets/cache/siteCache.idx.php(606) assets/cache/sitePublishing.idx.php(606)
⑥ 移行先のサーバーでphpMyAdminを使い、移行元サーバーのDBバックアップデータのインポートを行う
⑦ MODxのマネージャにログインし、動作及び表示確認
--------------------------------------------
結構あっさり・・・と思ったら、こんな現象が。
<AjaxSearchでエラー表示>
検索結果の表示自体は問題ないですが、該当ページへのリンクをクリックすとエラーが表示されました。
≪ MODx Parse Error ≫ MODx encountered the following error while attempting to parse the requested resource: ≪ PHP Parse Error ≫ PHP error debug Error: preg_replace(): Compilation failed: lookbehind assertion is not fixed length at offset 11 Error type/ Nr.: Warning - 2 File: /ルートの物理ディレクトリ/manager/includes/document.parser.class.inc.php(746) : eval()'d code Line: 101
どうもリンクのパラメーターがいけないらしいですが
http://どめいん/index.php?id=99&searched=けんさく語&advsearch=oneword&highlight=ajaxSearch_highlight+ajaxSearch_highlight1
調べてみると他のサーバー環境でも同じような現象があるようで、
Search Highlight プラグインの 120行目あたり、この処理をさせないことでエラーを回避することができました。
// $body[1] = preg_replace($pattern, $replacement, $body[1]);
(参考) MODx Evolution 日本語版プロジェクト - Ajax SearchでParse Error
<AjaxSearchの検索結果画面で文字化け
>
リソース内の検索に該当する箇所の前後を適当な長さで切り出す際、文字化けがおきていたので、.htdocs のmbstring関係の設定のコメントをはずしました。(39~45行目)
php_value default_charset UTF-8 php_value mbstring.language japanese php_flag mbstring.encoding_translation On php_value mbstring.http_input auto php_value mbstring.http_output UTF-8 php_value mbstring.internal_encoding UTF-8 php_value mbstring.substitute_character none
2010年3月13日




