Перейти к контенту

Нужна возможность самому указывать путь к папке кэша


Рекомендуемые сообщения

Здравствуйте! Версия 2.3.5.

 

Мне нужно, чтобы путь к папке с кэшем я мог сам задавать в файле config_global.php. Сейчас форум кэшируется в папке /cache/, как и у всех.

 

Вот и всё ТЗ :)

 

Я сам волоку в PHP, то есть можно просто подсказать, где этот путь /cache/ прописывается (надесюь, где-то в одном месте).

 

Макс

Ссылка на комментарий
Поделиться на других сайтах

Не могу обещать, что везде в коде используется именно CACHE_PATH, но можно её изменить попробовать в init.php. Если будут глюки, значит исправить в коде форума места, где вместо этой константы опять путь собирается.
Ссылка на комментарий
Поделиться на других сайтах

Саннис, спасибо за наводку, но у меня в 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/ переименовывать нельзя, можно менять лишь путь к ней.

 

О результатах сообщу.

Изменено пользователем mbosoy
Ссылка на комментарий
Поделиться на других сайтах

Да, вы правы, её переименовать не получится.

Если критично, может проще поставить на неё симлинк (если у вас Linux/*BSD)?

Ссылка на комментарий
Поделиться на других сайтах

Саннис, а мне не надо переименовывать папку /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 и правильно ссылались на неё, то у меня бы сразу всё заработало. Наверное, в поздних версиях это исправили.

Изменено пользователем mbosoy
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.