FOAF, OpenID,профиль и крон
24.02.2010Выложил обновление в котором исправлен openid, переписан foaf, исправлен профиль, а также протокол обмена между сайтами на базе xmlrpc с подтверждающими обратными вызовами. Также внесены другие исправления. Переработал админку друзей, добавил редактор шаблона страницы профиля. Для фоаф сделал более простое управление друзьями. Переименовал кое какие классы и добавил новый.
Собственно админку можно считать законченной, пожалуй за одним исключением - страница обновления. Были найдены и исправлены ошибки. Я исправил все известные мне ошибки.
Улучшил работу с файловой системой - ввел новое свойство для toptions filetime_offset, это разница времени между скриптом и временем файловой системой. Обычно это = 0, но возможны всякие отклонения, из за которых может нарушится работоспособность кеша или крона. Эта версия должна исключить подобные ситуации.
Остается еще написать плагин голосовалку, после чего я запущу несколько сайтов. Скачать отсюда: http://litepublisher.googlecode.com/files/litepublisher.3.16.tar.gz
Не могу сказать, что ошибок нет, но они мне неизвестны.
← Ранее Кандидат в стабильную версию
Позже Планирование голосовалки →
Комментарии (18) на запись “FOAF, OpenID,профиль и крон”
Оставить комментарий
Жму в браузере кнопочку "назад" и выбираю вариант "только на файлах" - тогда установка проходит нормально.
В чем может быть засада? На всякий случай вот информация о сервере:
http://savos-host.com/server_info.php
При попытке создать новую рубрику - вернее просто при нажатии на ссылку "рубрики" в режиме добавления новой записи - получаю вот такую ошибку:
Warning: Illegal offset type in /home/savos/data/www/xxx-xxx.com/lib/admin.tags.class.php on line 77
Catchable fatal error: Argument 1 passed to targs::add() must be an array, null given, called in /home/savos/data/www/xxx-xxx.com/lib/admin.tags.class.php on line 78 and defined in /home/savos/data/www/xxx-xxx.com/lib/local.class.php on line 34
и дальше пустая страница...
Гм... аналогично и с метками...
То есть ссылки вида http://tipa-moj-site.ru/admin/posts/categories/ или http://tipa-moj-site.ru/admin/posts/tags/ приводят к этим ошибкам ;-((
При этом похожая по структуре ссылка вроде http://tipa-moj-site.ru/admin/posts/editor/ работает корректно и показывает редактор нового поста.
Очень хотелось бы попробовать этот движок в работе, но вот пока третья подряд "непонятка" за первые 30 минут знакомства... И боюсь, что не последняя. есть соображения как поборость такое поведение на моем сервере???
Я предполагаю, что это все же как-то связано с недостаточным тестированием скрипта на разных конфигурациях - поэтому в первом комментарии указал информацию по моему серверу и его настройкам - вместо того, чтобы кричать "СКРИПТ ПЛОХОЙ!". Ибо - не плохой он, а недотестированный, имхо.
Спасибо за описанную проблему. Блоголёт использует встроенное по умолчанию расширение pdo, у тебя в конфиге
PDO support enabled
PDO drivers no value
Сравнил со своим конфигом:
PDO support enabled
PDO drivers sqlite2, sqlite
Я не специалистт по конфигам, но в ообоих случаях pdo разрешен, и у меня дополнительно установлен sqlite, который не используется. Используется mysql. Задай вопрос хостеру про исползование расширение pdo вместе с mysql, так как оно у тебя не работает.
Увы, но после активации PDO-support для sqlite ничего не изменилось - по прежнему при попытке поставить вариант с базой данных я получаю ошибку "could not find driver". Только после установки дополнительного расширения
у меня теперь в конфиге я вижу:
PDO drivers sqlite, mysql
И теперь установка варианта с базой проходит почти до конца. Почти - пототму что я сначала получаю сообщение о том, что все ок, что мой пароль такой-то и что я могу перейти к админке... Но на этой же странице дальше идет ругань:
Caught exception:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'savoshostcom.savos_comments' doesn't exist
0 lib/db.class.php(81): PDO->exec('INSERT INTO sav...')
1 lib/db.class.php(60): tdatabase->doquery('INSERT INTO sav...', false)
и там еще много чего - тут просто копировать не стал...
При этом я через phpMyAdmin вижу, что в базе создано 19 таблиц, среди которых действительно НЕТ тех, на которые ругается скрипт. А именно:
- нет savos_comments
- нет savos_rawcomments
Ну и при заходе на сам блог я сначала вижу стнадратный вывод шаблона с первым постом, созданным инсталлятором, вижу виджеты, вижу футер и уже ниже него идет вот такая каша:
Caught exception:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'savoshostcom.savos_comments' doesn't exist
0 lib/db.class.php(79): PDO->query('select savos_co...')
1 lib/db.class.php(56): tdatabase->doquery('select savos_co...', true)
2 lib/comments.manager.class.php(237): tdatabase->query('select savos_co...')
3 lib/widgets.comments.class.php(23): tcommentmanager->getrecent(7)
4 lib/widgets.standarts.class.php(155): tcommentswidget->getwidgetcontent(6, 1)
5 lib/widgets.standarts.class.php(173): tstdwidgets->getcontent('comments')
6 lib/widgets.standarts.class.php(114): tstdwidgets->getcommentswidget(6)
7 lib/widgets.class.php(154): tstdwidgets->getwidget(6, 1)
8 lib/widgets.class.php(118): twidgets->dogetwidget(Array)
9 lib/widgets.class.php(96): twidgets->getwidgetcontent(Array)
10 lib/widgets.class.php(74): twidgets->getsitebar(1)
11 lib/homepage.class.php(85): twidgets->getcontent()
12 lib/template.class.php(138): thomepage->getsitebar()
13 lib/template.class.php(46): ttemplate->getsitebar()
14 lib/theme.class.php(106): ttemplate->__get('sitebar')
15 lib/theme.class.php(118): ttheme::parsecallback(Array)
16 lib/template.class.php(114): ttheme->parse('/\$(\w+)\.(\w...', 'ttheme::parseca...', '<!DOCTYPE html ...')
17 lib/kernel.php(1105): ttemplate->request('<!DOCTYPE html ...')
18 lib/kernel.php(1090): turlmap->GenerateHTML(Object(thomepage))
19 lib/kernel.php(1003): turlmap->printcontent(Array)
20 lib/kernel.php(993): turlmap->dorequest(Array)
21 index.php(65): turlmap->request('/')
22 {main}
Поддержку SQLite сейчас вообще отключил. То есть расширения PHP такие как:
- pdo_sqlite.so
- sqlite.so
Теперь в конфиге в части про PDO висит только:
PDO support enabled
PDO drivers mysql
Но проблема осталась. Таблицы prefix_comments и prefix_rawcomments не создаются и на них в конце инсталлятора (а затем и в конце любой страницы блога) иде ругань. Такое ощущение, что вообще при инсталляции не вызывается файлик comments.class.db.install.php или имеющаяся в нем функция function tcommentsInstall($self)
Есть и еще один баг (или не баг???) домен с дефисом не распознается корректно и вместо /data/savos-host.com/ я вижу папку /data/savos/
Пока еще не понял на что именно это будет влиять. Но ведь будет влиять, это точно? Или я ошибаюсь?
http://blogolet.ru/linkswidget/?id=2
и по ссылке вот такой:
http://litepublisher.googlecode.com/files/litepublisher.3.16.tar.gz
и пока поведение файловой версии в плане замеченных мною с самого начала багов пока не изменилось.
Наверное на сегодня тестов достаточно. Жду ответов и с удовольствием буду тестировать завтра опять. Мне нравится этот проект и я хочу чтобы ОНО у меня тоже работало ;-))
Текущая эта та что 3.16 с гугля, правда у гугля есть баг/фича что лучше файл выкладывать один раз, а потом выкладывать под другим именем, тк как он бывает отдает старый файл, когда как уже залил обновленный.
Я кстати все время тестировал на локальном, на сервере тетсировал файловую версию. Сегодня впервые решил на реальном сервере проверить бд - оказалось, что у меня тоже не установлен драйвер mysql для pdo. Если ты сам менял конфигурацию, то подскажи как это делал? Какая то комманда в шеле? В серверах я увы чайник
http://litepublisher.googlecode.com/files/litepublisher.3.17.tar.gz
По поводу настроек хостинга - тут все зависит от панели управления.
У меня стоит ISP-manager (я использую мини-VDS от firstvds.ru уже много лет и доволен). В принципе в CPanel или DirectAdmin'e должно быть тоже что-то подобное, но это уже надо смотреть в документацию.
Я нахожу раздел "Настройки PHP" и "Расширения PHP" - там выбираю доступные для установки модули и либо добавляю (модуль pdo-mysql пришлось как раз добавлять) либо просто активирую уже добавленный (сама поддержка pdo была уже в наличии, но была не активна).
Через шелл все это тоже можно проделать, но часто при этом теряется синхронизация с панелью управления. Поэтому уже надо для себя решать - если делать через шелл - то тогда с рассчетом на то, что бы ВСЁ-ВСЁ-ВСЁ потом делать через шелл. Я на нескольких серверах так и делал - практиковался, так сказать. Но понял - всё, что мне реально бывает нужно изменить - уже так или иначе в панели управления представлено...
Насчет новой версии - кажется отказ от PDO это действительно вариант не плохой - сейчас скачаю и будем опять тестить...