@634

Mojaviの導入

Advertisement

Mojaviフレームワークの入手

公式サイトからバイナリをダウンロードする。

Mojaviフレームワークの導入

1.入手したバイナリファイルを解凍する。
2.解凍後のフォルダをブラウザでアクセスできるサーバのディレクトリに移動。
3.ブラウザからアクセスする。(例:http://localhost/mojavi/)

この時点でメッセージまたはエラーが表示されればとりあえずOK

フロントコントローラ(index.php)、configファイルの修正

設置後、フロントコントローラであるindex.phpと、configファイルを自分の環境に合わせて修正する。

フロントコントローラ(index.php)

10行目付近のrequire_onceにconfigファイルのパスを指定。

/**
 * INCLUDE config.php
 */
require_once('webapp/config.php');

続いてコメント解除。本来ならconfig.phpの設定を終えた後に行う。
130行目付近。
//die('Please configure your Mojavi installation and remove this line from index.php.');

configファイル

BASE_DIR,MOJAVI_FILE,OPT_DIR,SCRIPT_PATHの4つを書き換える。
BASE_DIRにはwebappディレクトリへの絶対パスを記述。
MOJAVI_FILEにはall-in-oneクラス(デフォルトの場合mojavi-all-classes.php)のファイル名を指定。
OPT_DIRにはoptディレクトリへのパス。
SCRIPT_PATHにはindex.phpがおいてあるディレクトリへのパス
を、それぞれ指定する。

/**
 * An absolute file-system path to the webapp directory.
 */
define('BASE_DIR', 'C:\\xampp\\htdocs\\mojavi\\webapp\\');

/**
 * An absolute file-system path to the all-in-one class file Mojavi
 * uses.
 */
define('MOJAVI_FILE', 'mojavi-all-classes.php');

/**
 * An absolute file-system path to the optional classes directory.
 */
define('OPT_DIR', 'C:\\xampp\\htdocs\\mojavi\\opt\\');

/**
 * An absolute web path to the index.php script.
 */
define('SCRIPT_PATH', 'index.php');

index.phpと、config.phpの修正が終わった時点でブラウザからアクセスし、
Please configure your Mojavi installation and remove this line from index.php.
と表示されればOK.エラーが発生した場合の対処は下記を参照。

導入時のエラーの回避

Mojavi導入時にエラーが発生した場合。

画面にNoticeメッセージが表示される

Notice: Only variable references should be returned by reference in
 C:\xampp\htdocs\mojavi_default\mojavi-all-classes.php on line 767

Notice: Only variable references should be returned by reference in
 C:\xampp\htdocs\mojavi_default\mojavi-all-classes.php on line 1006

Notice: Only variable references should be returned by reference in
 C:\xampp\htdocs\mojavi_default\mojavi-all-classes.php on line 346

mojavi-all-classes.php内でNoticeエラーを表示させないように設定。
//error_reporting(E_ALL);
error_reporting(E_ALL & ~E_NOTICE);

Only variable references〜がFATALで表示される

FATAL [C:xampp\htdocs\mojavi\opt\user\SessionContainer.class.php:35]
 Only variable references should be returned by reference

PHPのバージョン違いが大本の原因だが、そのままの環境で動作させたい場合はロギングのクラスを書き換える。
opt/logging/ErrorLogger.class.php

変更前
case E_USER_NOTICE:
    $this->info($message, NULL, NULL, $file, $line);
    break;

変更後(E_NOTISEをcase文に追加)
case E_USER_NOTICE:
    $this->info($message, NULL, NULL, $file, $line);
    break;

case E_NOTICE:
    $this->info($message, NULL, NULL, $file, $line);
    break;
E_NOTICEがselect-caseでキャッチされていないので、デフォルトのfatalメソッドでロギングされてしまっている。E_NOTICEを条件判定に含め、infoレベルでメッセージを出力するように変更することで、回避する。

Advertisement

ショートカット

634トップページ
このカテゴリのトップページに戻る
634ラボ
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール