Тонкая настройка кэша: memory = memcache + FS?

1
Добрый всем вечер,

поставили на сервере memcached под кэш, так как у нас диски гудят от наплыва посетителей.

Написаное ниже неверно!
в конфиге кэша стоит «memory».

такое ощущение, что дисковый кэш всё равно работает: в директории ./tmp создаются файлы.
Конец неверного

Вопросы:
1. это ожидаемое поведение системы? т.е. дисковый кэш тоже работает?
2. как это отключить? как оставить только кэш в ОП?
3. возможно ли сделать кэш избирательным? (т.к. у нас ожидается контента столько, что ОП закончится довольно быстро, нам нежелательно кэшировать всё).

UPDATE:
Ответы на вопросы:
1. Нет, это другие программисты затерли конфиг и работало в режиме file.
2. Поставить режим в memory.
3. Нужно написать анализ ключей, по которым сохраняется кэш (модуль Cache).

Вердикт: будем ковырять модуль Cache. Спасибо всем за участие!
  • 0
  • 13 июня 2011, 23:20
  • xEviL

Настройка config.php (требуется помощь)

 
Помогите пожалуйста настроить конфигурационный файл. Следующая ошибка:

Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(/var/www/html/config/config.table.php) is not within the allowed path(s): (/home/vhosts/мой сайт/:/tmp/:/usr/share/pear/) in /home/vhosts/мой сайт/config/config.php on line 164

Warning: require_once(/var/www/html/config/config.table.php) [function.require-once]: failed to open stream: Операция не позволяется in /home/vhosts/мой сайт/config/config.php on line 164

Fatal error: require_once() [function.require]: Failed opening required '/var/www/html/config/config.table.php' (include_path='.:/usr/share/pear:/usr/share/php:/home/vhosts/мой сайт') in /home/vhosts/мой сайт/config/config.php on line 164

Указываю путь /home/vhosts/сайт/ вместо DIR_SERVER_ROOT. Появляется куча других ошибок

Как изменить конфиг плагина чтобы отображались блоки

1
Здравствуйте,
пытаюсь написать свой плагин, но не могу понять как следует изменить его конфиг, чтобы отображались мои блоки.
Первоначально настройки были в config.local.php в следующем виде (и всё работало):

$config['block']['rule_tag'] = array(
	'action'  => array( 'index' ), // На какой странице выводить блок 
	'blocks'  => array( 'myblock' => array('myblock') )  // что выводить в блоке 
	);


В файле config.php в плагине записал это так:

Config::Set('block.rule_tag', array(
	'action'  => array(
			'index'		 // На какой странице выводить блок 
		),
	'blocks'  => array(
			'myblock' => array('myblock'),  // Что выводить в блоке
					),
		
	));


Однако выдается ошибка:

Fatal error: require_once() [function.require]: Failed opening required '***/classes/blocks/BlockMyblock.class.php' 

Явно он ищет блок не там- не в директории плагина, а в общей.
Подскажите что я упустил?

Upd:

Мой рабочий вариант:
Config::Set(		
		'block.rule_tag',  array(
        'action'  => array(
                        'index'          // На какой странице выводить блок 
                ),
        'blocks'  => array(
                        'myblock' => array('myblock'),  // Что выводить в блоке
                                        ),
		'params'=>array('plugin'=>'myplugin')								
                
        )

		);


Спасибо всем за помощь.
  • 0
  • 14 октября 2010, 05:52
  • way24

Вызов переменной из конфига плагина.

1
Утро доброе.

Бьюсь над созданием своего плагина для 0.4.2. Не могу справиться с проблемой, как из файла конфига плагина вызвать переменную в шаблон. Код по катом.

Читать дальше
  • 0
  • 09 сентября 2010, 10:31
  • ka3ak

Способ искоренить Config::Set в конфигах плагинов

1
Задача: при выполнении ветви конфига через include исключить изменение текущего конфига

сделал у себя так:
Index: Config.class.php
===================================================================
--- Config.class.php	(revision 50)
+++ Config.class.php	(revision 119)
@@ -271,9 +271,25 @@
 	 */
 	static public function Set($sKey,$value,$sInstance=self::DEFAULT_CONFIG_INSTANCE) {
 		$aKeys=explode('.',$sKey);
+		
+		if(isset($value['$root$']) && is_array($value['$root$'])){
+			$aRoot = $value['$root$'];
+			unset($value['$root$']);
+			foreach($aRoot as $sRk => $mRv){
+				self::Set(
+					$sRk,
+					self::isExist($sRk)
+						? func_array_merge_assoc(Config::Get($sRk, $sInstance), $mRv)
+						: $mRv
+					,
+					$sInstance
+				);
+			}
+		}
+		
 		$sEval='self::getInstance($sInstance)->aConfig';
 		foreach ($aKeys as $sK) {
-			$sEval.='['.var_export($sK, true).']';
+			$sEval.='['.var_export((string)$sK, true).']';
 		}
 		$sEval.='=$value;';
 		eval($sEval);	


теперь чтобы получить доступ к корню глобального конфига из конфига плагина, надо просто добавить префикс "$root$"

например, для того чтобы сказать роутеру о новом экшне, вместо не православного Config::Set в конфиге плагина page можно написать православное
$config['$root$']['router']['page']['page']	= 'PluginPage_ActionPage';
  • 0
  • 08 августа 2010, 12:50
  • 1d10t

Подключение js файлов из конфига плагина

4
Всем привет

Создал директорию плагина, в ней файл config/config.php
Config::set('head.rules.crop',array(
    'path' => Config::get('path.root.web').'/settings/profile/',
    'js' => array(
        'include' => array(
            Config::get('path.plugins').'/crop/external/cwcrop/ysr-crop.js'
        )
    ),
));
return $config;

Файл не подключается
И как можно подключить файл для всех страниц с использованием конфига плагина?

Ошибка после редактирования конфига

 
Здравствуйте, вот возникла ошибка, после того как отредактировал, config.local.php.

Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /home/***/public_html/***.ru/engine/modules/session/Session.class.php on line 59

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/***/public_html/***.ru/config/config.local.php:1) in /home/***/public_html/***.ru/engine/modules/session/Session.class.php on line 61

Пользовательские конфиги

 
В директории «config» находятся файлы конфигурации системы. При подключении модулей в эти файлы вносятся изменения. При обновлении движка все эти изменения будут потеряны и придется восстанавливать работоспособность системы.

Возможно ли во всех файлах настроек, которые используются для подключения модулей, сделать инклуд пользовательских конфигов? Либо из той же директории с префиксом «user» например, user.config.table.php, либо из отдельно созданной директории «config_user».
  • +4
  • 29 марта 2009, 11:33
  • wra