Powered by CodeIgniter
DarkTwin

DarkTwin

0
0 голосов
  ПрофильБлог (3)Комментарии (37)ЗакладкиПродукты 
Я уже писал об этом, но думаю что коллективный разум найдет причину быстрее.

При попытке добавить аватарку получаем

A PHP Error was encountered Severity: Warning Message: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/uploads/avatars/1/24x24) is not within the allowed path(s): (/var/www/darktwin/data:.) Filename: models/upload.php Line Number: 214
Ошибка такая на двух, абсолютно разных, хостингах.
Вероятная проблема — не правильное определение ROOTPATH.
Двиг тут /var/www/darktwin/data/www/0a5.ru
А хочет он сюда /var/www/darktwin/data
12:40 ← 08 марта 2010 Отправить в Твиттер darktwinDarkTwin  RSS comments 20

Комментарии (20) ↓

admin admin time 12:44 ← 08 марта 2010 #
Не во всех операционных системах путь к текущей папке "./" распознается верно.
Следует просто пройтись парсером типа Search and Replace по файлам и заменить
"./ на
ROOTPATH."/
Автор
DarkTwin DarkTwin time 12:48 ← 08 марта 2010 #
А может как я раньше предложил?

Вот как в джумле например
$mosConfig_absolute_path = 'где то там';
или вобле
$config['Misc']['forumpath'] = 'что то там';
admin admin time 12:50 ← 08 марта 2010 #
Константа ROOTPATH определяется автоматически в index.php.
Fr3nzy Fr3nzy time 13:05 ← 08 марта 2010 #
Зачем писать то, что движок определяет сам? Просто нужно, чтобы движок везде использовал ROOTPATH.
Автор
DarkTwin DarkTwin time 13:07 ← 08 марта 2010 #
Заменил на

ROOTPATH."/

Результат тот же.
Автор
DarkTwin DarkTwin time 13:10 ← 08 марта 2010 #
Хотя вру. Теперь не верно отображается меню в админке.
Автор
DarkTwin DarkTwin time 13:22 ← 08 марта 2010 #
Еще есть подозрения что из за этого могут быть проблемы с тегами.

0a5.ru/ Видите теги в сообщении на главной?
А с права в облаке?
admin admin time 14:25 ← 08 марта 2010 #
Посмотрите, есть ли теги в базе.
Автор
DarkTwin DarkTwin time 06:40 ← 09 марта 2010 #
Таблица `tags` — Пустая.
Теги были добавлены после включения «Облако тегов».
admin admin time 10:07 ← 09 марта 2010 #
Попробуйте продебаггить.
Зайдите в /gears/tags/_hooks.php и найдите в нем функцию:
function tags_form_update_after_($Form,$result,$table,$data,$where){ if($Form->name == 'node_createdit'){ /* * Important. If tags weren't changed -- nothing will be happend. */ if(!empty($data['tags']) && trim($Form->data->tags) == trim($data['tags']) && $data['published'] != 'NULL') return; elseif(empty($data['tags'])){ $data['tags'] = ''; $Form->db->update('nodes',array('tags'=>''),$where); } /* * Remove all links between node and tags. */ $Form->db->where('nid',$where['id'])->delete('nodes_tags'); if(!empty($data['tags'])){ /* * Get old tags */ $old_tags = array_unique(explode(',',$data['tags'])); /* * Seek through tags and check them. * If tag doesn't belong to any node -- delete tag. */ foreach($old_tags as $tag){ if($t = $Form->db->get_where('tags',array('name'=>trim($tag)))->row()){ if(strpos($data['tags'],trim($tag)) !== FALSE){ $reserved_tags[$t->name] =$t->id; } elseif(!$Form->db->get_where('nodes_tags',array('tid'=>$t->id))->row() OR $data['published'] != 'NULL'){ $Form->db->where('id',$t->id)->delete('tags'); } } } } if($data['published'] != 'NULL'){ $tags = array_unique(explode(',',$data['tags'])); foreach($tags as $tag){ $tag = trim($tag); if(empty($tag)) continue; if($t = $Form->db->where('name',$tag)->get('tags')->row()){ $tid = $t->id; } elseif(!empty($reserved_tags[$tag])){ $tid = $reserved_tags[$tag]; } else { $Form->db->insert('tags',array( 'name'=>$tag)); $tid = $Form->db->insert_id(); } $Form->db->insert('nodes_tags',array( 'nid'=>$where['id'], 'tid'=>$tid )); } } $Form->cache->tags('tags')->clear(); } } После
$tags = array_unique(explode(',',$data['tags'])); поставьте
debug($tags); и посмотрите, верно ли доходят теги до базы.
Автор
DarkTwin DarkTwin time 11:34 ← 09 марта 2010 #
Продолжим.
Для чистоты эксперимента снес все с сайта (базу то же).
Скачал 722 ревизию от 5 числа. К стати посмотрел журнал. Вы там и синдикацию правили, по ней то же вопрос есть.

В функции
function tags_form_update_after добавил дебаг и получил вот такое
array(7) { [0]=> string(12) "Привет" [1]=> string(9) " друг" [2]=> string(11) " здесь" [3]=> string(13) " должны" [4]=> string(9) " быть" [5]=> string(17) " ключевые" [6]=> string(11) " слова" } Теги в облаке не появились.

Про «Синдикация» попутно. Я заметил что она не обновляется.
admin admin time 11:39 ← 09 марта 2010 #
Синдикация обновляется планировщиком.
При дебаге — значит все верно, просто не сбросился кеш. Посмотрите еще раз в таблицу «tags».
Автор
DarkTwin DarkTwin time 11:42 ← 09 марта 2010 #
Прошу прощенья что сразу не написал.
Сразу посмотрел в таблицу — пусто там.

То что «Синдикация» обновляется планировщиком я знаю, только вот не обновляется.
admin admin time 11:48 ← 09 марта 2010 #
Посмотрите в /gears/form/models/form.php метод update через тот же debug, почему теги в базу не сохраняются.
Автор
DarkTwin DarkTwin time 12:21 ← 09 марта 2010 #
Дебаг вставлять не стал, так как после отключения твитера и включения выключения кеширования в облаке появились теги. Что к этому привело не ясно. Ближе к вечеру еще раз попробую.

К стати три раза за сегодня видел такую картину тут.
s15.radikal.ru/i189/1003/39/13de2c330d97.png Это при нажатии на ответ.
Fr3nzy Fr3nzy time 13:49 ← 08 марта 2010 #
У вас php точно не в safe-mode?
Автор
DarkTwin DarkTwin time 06:43 ← 09 марта 2010 #
Configuration
PHP Core

Directive — Local Value — Master Value
safe_mode — Off — Off
Автор
DarkTwin DarkTwin time 16:43 ← 19 августа 2010 #
Решил вернутся на данный движок.
Проблема как была у меня так и осталась.

A PHP Error was encountered Severity: Warning Message: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/uploads/avatars/1/24x24) is not within the allowed path(s): (/var/www/darktwin/data:.) Filename: models/upload.php Line Number: 214
опять таки же хостинг уже другой.
satagik satagik time 17:51 ← 19 августа 2010 #
У меня подобного никогда небыло!
admin admin time 18:35 ← 19 августа 2010 #
Зайдите в /gears/uploads/index.php и замените /uploads на ./uploads.