parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Sumo 09.08.2009 15:26 / 09.08.2009 15:33

Если сервер настроен на поддержку 32-битных програм (как правило так и есть поскольку большое количество программного обеспечения попросту несовместимо с 64-битными системами и должны работать в режиме совместимости), то проблем с использованием 32-битной версией Парсера быть не должно.

Проблема может быть с sql-драйверами. В Парсере драйвер для sql-серверов состоит из двух частей - собственно самого драйвера Парсера (например, libparser3mysql.so), который реализует внутренний API и библиотеки для доступа к конкретной СУБД (для MySQL это libmysqlclient.so). Причем оба драйвера должны быть 32-битными, что и вызывает затруднения, поскольку на хостингах, как правило, собирают только 64-битные библиотеки.

Собственно решается все крайне просто (привожу порядок действия для MySQL):
1. Устанавливаем Парсер как указано в документации.
2. Скачиваем с сайта производителя СУБД бинарную сборку под FreeBSD (x86_64).
3. Копируем файл lib/libmysqlclient.so.16 на сервер (можно прямо в туже папку, где лежит libparser3mysql.so).
4. Правим конфигурационный auto.p:
$SQL[
$.drivers[^table::create{protocol   driver   client
mysql   /full/disk/path/libparser3mysql.so   /full/disk/path/libmysqlclient.so.16
}]] 
Вместо "/full/disk/path/" пишем полный путь от корня к нашим файлам.

p.s. Под Линукс установка делается похожим образом.
p.p.s. Начиная с версии 3.4.0 Парсер будет собираться и работать на 64-битных системах. :)