ECCUBEのちょっとした事

ECCUBEを通常通りインストールして、ストアフロントを見ると

Notice: Use of undefined constant ADMIN_FUNCTION - assumed 'ADMIN_FUNCTION' in /var/www/store/html/require.php on line 27 Notice: Use of undefined constant SAFE - assumed 'SAFE' in /var/www/store/html/require.php on line 33

こんなのが出てる。/var/www/store/はECCUBEを展開した場所。

見てみると
require.phpでADMIN_FUNCTIONの確認が行われているのだが、定義がされてない。findで探してみると、./admin/require.phpで定義されている。

ファイルの読み込みの順番は
index.php
require.php
なので、
require.phpでdefineされてないといかんのです。

ADMIN_FUNCTIONは

define('FRONT_FUNCTION', true);
if (defined('ADMIN_FUNCTION') && ADMIN_FUNCTION === true) {
define('FRONT_FUNCTION', false);
}

SAFEは

if (defined('SAFE') && SAFE === true) {
require_once HTML_REALDIR . HTML2DATA_DIR . 'require_safe.php';
} else {
require_once HTML_REALDIR . 'handle_error.php';
require_once HTML_REALDIR . HTML2DATA_DIR . 'require_base.php';
}

こうしてみた。

php.iniで ~E_NOTICEすればなくなるとは思う。多分これが一番簡単だと思う。

コードを全部見渡してないからもしかしたら問題が起こるかも知れない。論理的には行けそうな気がするが。