質問 > フロント機能 > 2.11.5→2.12.0→2.12.1update時、操作ミスでホームページにエラーが出てます |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
have |
投稿日時: 2012/8/6 10:10
対応状況: −−−
|
一人前 登録日: 2010/11/4 居住地: 東京都 投稿: 83 |
2.11.5→2.12.0→2.12.1update時、操作ミスでホームページにエラーが出てます お世話になります。
------------------------------------------------ Warning: include(/home/アカウント/www//data/class_extends/helper_extends/SC_Helper_HandleError_Ex.php) [function.include]: failed to open stream: No such file or directory in /home/アカウント/www/data/class/SC_ClassAutoloader.php on line 98 Warning: include() [function.include]: Failed opening '/home/アカウント/www//data/class_extends/helper_extends/SC_Helper_HandleError_Ex.php' for inclusion (include_path='/home/アカウント/www/data/module') in /home/アカウント/www/data/class/SC_ClassAutoloader.php on line 98 Fatal error: Class 'SC_Helper_HandleError_Ex' not found in /home/アカウント/www/data/app_initial.php on line 46 ----------------------------------------------------------- class SC_ClassAutoloader { /** * クラスのオートローディング本体 * * LC_* には対応していない。 * @return void */ public static function autoload($class) { $arrClassNamePart = explode('_', $class); $is_ex = end($arrClassNamePart) === 'Ex'; $count = count($arrClassNamePart); $classpath = $is_ex ? CLASS_EX_REALDIR : CLASS_REALDIR; if (($arrClassNamePart[0] === 'GC' || $arrClassNamePart[0] === 'SC') && $arrClassNamePart[1] === 'Utils') { $classpath .= $is_ex ? 'util_extends/' : 'util/'; } elseif ($arrClassNamePart[0] === 'SC' && $is_ex === true && $count >= 4) { $arrClassNamePartTemp = $arrClassNamePart; // FIXME クラスファイルのディレクトリ命名が変。変な現状に合わせて強引な処理をしてる。 $arrClassNamePartTemp[1] = $arrClassNamePartTemp[1] . '_extends'; $classpath .= strtolower(implode('/', array_slice($arrClassNamePartTemp, 1, -2))) . '/'; } elseif ($arrClassNamePart[0] === 'SC' && $is_ex === false && $count >= 3) { $classpath .= strtolower(implode('/', array_slice($arrClassNamePart, 1, -1))) . '/'; } elseif ($arrClassNamePart[0] === 'SC') { // 処理なし } // PEAR用 // FIXME トリッキー else { $classpath = ''; $class = str_replace('_', '/', $class); } $classpath .= "$class.php"; // プラグイン向けフックポイント // MEMO: プラグインのローダーがDB接続を必要とするため、SC_Queryがロードされた後のみ呼び出される。 // プラグイン情報のキャッシュ化が行われれば、全部にフックさせることを可能に? if (isset($GLOBALS['_SC_Query_instance']) && !is_null($GLOBALS['_SC_Query_instance'])) { $objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance(true); // 元の設定を一時保存 $plugin_class = $class; $plugin_classpath = $classpath; $objPlugin->doAction('loadClassFileChange', array(&$plugin_class, &$plugin_classpath)); // FIXME: トリッキーな処理で _Ex ファイルを無視しないようにする(無視するとユーザーカスタマイズで分かりにくい) // SC_XXXX_Ex がロードされる場合にextendsのchainを // SC_XXXX_Ex -> SC_XXXX から、 SC_XXXX_Ex -> $class (-> SC_XXXX) と変える。 // そうでない場合は、直接置き換えと想定して帰ってきたクラスをロードする if ($plugin_class !== $class) { if ($is_ex) { // Ex ファイルへのフックの場合のみチェイン変更する。 $exp = "/(class[ ]+{$class}[ ]+extends +)[a-zA-Z_\-]+( *{)/"; $replace = '$1' . $plugin_class . '$2'; $base_class_str = file_get_contents($classpath); $base_class_str = str_replace(array('<?php', '?>'), '', $base_class_str); $base_class_str = preg_replace($exp, $replace, $base_class_str, 1); include $plugin_classpath; eval($base_class_str); return; } else { include $plugin_classpath; } } 第98行: } include $classpath; } } ---------------------------------------------------- app_initial.php if (!defined('CLASS_REALDIR')) { /** クラスパス */ define('CLASS_REALDIR', DATA_REALDIR . "class/"); } if (!defined('CLASS_EX_REALDIR')) { /** クラスパス */ define('CLASS_EX_REALDIR', DATA_REALDIR . "class_extends/"); } if (!defined('CACHE_REALDIR')) { /** キャッシュ生成ディレクトリ */ define('CACHE_REALDIR', DATA_REALDIR . "cache/"); } // クラスのオートローディングに対応するフックを入れるために、ここに入れる必要あり require_once(CLASS_EX_REALDIR . 'helper_extends/SC_Helper_Plugin_Ex.php'); // クラスのオートローディングを定義する require_once(CLASS_EX_REALDIR . '/SC_ClassAutoloader_Ex.php'); spl_autoload_register(array('SC_ClassAutoloader_Ex', 'autoload')); 第46行:SC_Helper_HandleError_Ex::load(); // アプリケーション初期化処理 $objInit = new SC_Initial_Ex(); $objInit->init(); 宜しくお願いいたします ec-cube:2.11.5 サーバ:さくら Apache/1.3.42 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |