Mojaviの導入AdvertisementMojaviフレームワークの入手
公式サイトからバイナリをダウンロードする。
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コレクションギャラリー サイト検索Y!ログール |