mbosoy Опубликовано 8 Августа 2010 Жалоба Поделиться Опубликовано 8 Августа 2010 Здравствуйте! Версия 2.3.5. Мне нужно, чтобы путь к папке с кэшем я мог сам задавать в файле config_global.php. Сейчас форум кэшируется в папке /cache/, как и у всех. Вот и всё ТЗ Я сам волоку в PHP, то есть можно просто подсказать, где этот путь /cache/ прописывается (надесюь, где-то в одном месте). Макс Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 9 Августа 2010 Жалоба Поделиться Опубликовано 9 Августа 2010 Не могу обещать, что везде в коде используется именно CACHE_PATH, но можно её изменить попробовать в init.php. Если будут глюки, значит исправить в коде форума места, где вместо этой константы опять путь собирается. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
mbosoy Опубликовано 9 Августа 2010 Автор Жалоба Поделиться Опубликовано 9 Августа 2010 (изменено) Саннис, спасибо за наводку, но у меня в init.php переменной CACHE_PATH нету! (Версия 2.3.5) Про кэш в этом файле есть вот в такой строке: define( 'IPS_XML_RPC_DEBUG_FILE', ROOT_PATH . 'cache/xmlrpc_debug.cgi' ); (эту строчку надо будет тоже подправить, если делать путь к кэшу отличающимся от ROOT_PATH) ------------- Я сделал поиск по всем файлам скриптов форума и нашлось с десяток файлов с упоминанием этой переменной. Методом научного тыка нашёл файл sources/ipsclass.php, где задаётся CACHE_PATH для того случая, если он не определён: //-------------------------------- // Set up cache path //-------------------------------- if( ! defined( 'CACHE_PATH' ) ) { if ( $this->vars['ipb_cache_path'] ) { define( 'CACHE_PATH', $this->vars['ipb_cache_path'] ); } else { define( 'CACHE_PATH', ROOT_PATH ); } } Как я понимаю, если в init.php мне определить CACHE_PATH, то определение в ipsclass.php уже не будет востребовано. Так? Попробую. Кстати, везде в файлах путь к кэшу указывается так: CACHE_PATH.'cache/....... то есть папку /cache/ переименовывать нельзя, можно менять лишь путь к ней. О результатах сообщу. Изменено 9 Августа 2010 пользователем mbosoy Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Sannis Опубликовано 9 Августа 2010 Жалоба Поделиться Опубликовано 9 Августа 2010 Да, вы правы, её переименовать не получится.Если критично, может проще поставить на неё симлинк (если у вас Linux/*BSD)? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
mbosoy Опубликовано 9 Августа 2010 Автор Жалоба Поделиться Опубликовано 9 Августа 2010 (изменено) Саннис, а мне не надо переименовывать папку /cache/, я хочу менять путь к ней (в ЛС я пояснял, зачем мне всё это надо: для реализации многофорумности). --------------- ИТАК, я добавил в init.php после define( 'ROOT_PATH', dirname( __FILE__ ) ."/" ); строчку define( 'CACHE_PATH', ROOT_PATH.'/my_cache/' ); Папку /cache/ со всем содержимым бросил в папку /my_cache/ --------------- Захожу в админку. Начали появляться ошибки путей при выборе "Настроек" для стиля. Зашёл в skin_sets.php и там, для каких строчек форум ругался, поставил ROOT_PATH вместо CACHE_PATH. Ругань прекратилась. Кэши форум тоже обновляет без проблем (Попробовал ручное обновление через "Управление кэшем") --------------- (добавил через полчаса) Ура! Везде в файле sources/ipsclass.php, где папку /cache/ предлагалось искать в корне, я поменял ROOT_PATH на CACHE_PATH, и всё заработало. Потестирую ещё форум, вдруг ещё где вскроется ошибка с путями к кэшу. Кстати, это ведь недосмотр разработчиков версии 2.3.5. Если бы они сразу задали переменную CACHE_PATH в файле init.php и правильно ссылались на неё, то у меня бы сразу всё заработало. Наверное, в поздних версиях это исправили. Изменено 9 Августа 2010 пользователем mbosoy Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.